schoolkithub commited on
Commit
8c86935
Β·
verified Β·
1 Parent(s): 1a67485

Update blackgat/dashboard/dashboard.py

Browse files
Files changed (1) hide show
  1. blackgat/dashboard/dashboard.py +56 -44
blackgat/dashboard/dashboard.py CHANGED
@@ -1,47 +1,59 @@
 
1
  import streamlit as st
2
  import requests
3
 
4
- API = "http://localhost:8000"
5
-
6
- st.title("🧠 BlackGat AI Control Panel")
7
-
8
- st.header("πŸ”₯ HeatSeeker")
9
- url = st.text_input("Target URL", "https://example.com/admin")
10
- params = st.text_area("Query Params", '{"q":"test"}')
11
- status_code = st.number_input("HTTP Status", min_value=100, max_value=599, value=500)
12
-
13
- if st.button("Run HeatSeeker"):
14
- resp = requests.post(f"{API}/score", json={
15
- "url": url,
16
- "params": eval(params),
17
- "status_code": status_code
18
- })
19
- st.success(f"Score: {resp.json()['score']}")
20
-
21
- st.header("πŸ“ Scribe - AI Report")
22
- vuln_type = st.text_input("Vuln Type", "XSS")
23
- vuln_payload = st.text_input("Payload", "<script>alert(1)</script>")
24
- vuln_impact = st.text_input("Impact", "Session hijacking")
25
-
26
- if st.button("Generate Report"):
27
- data = {"type": vuln_type, "url": url, "payload": vuln_payload, "impact": vuln_impact}
28
- r = requests.post(f"{API}/report", json=data)
29
- st.code(r.json()["report"], language="markdown")
30
-
31
- st.header("πŸ”— KillChainAI")
32
- finding = st.text_area("Findings", "[auth_bypass, XSS, IDOR]")
33
- if st.button("Suggest Chain"):
34
- r = requests.post(f"{API}/chain", json=finding)
35
- st.code(r.json()["chain"])
36
-
37
- st.header("🧠 ReconGPT")
38
- prompt = st.text_area("Prompt", "Find XSS using SVG payloads")
39
- if st.button("Send Prompt"):
40
- r = requests.post(f"{API}/recon", json={"prompt": prompt})
41
- st.code(r.json()["task"])
42
-
43
- st.header("πŸ•΅οΈ Hackphyr")
44
- target_info = st.text_area("Scenario", "Login allows user injection.")
45
- if st.button("Suggest Exploit"):
46
- r = requests.post(f"{API}/exploit", json={"data": target_info})
47
- st.code(r.json()["exploit"])
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # dashboard/app.py
2
  import streamlit as st
3
  import requests
4
 
5
+ API_URL = "http://localhost:8000"
6
+
7
+ st.set_page_config(page_title="BlackGat AI", layout="wide")
8
+ st.title("🧠 BlackGat AI β€” Bug Bounty Automation")
9
+
10
+ tool = st.sidebar.selectbox("Choose Agent", ["Scribe", "KillChain", "HeatSeeker", "ReconGPT", "Exploit Suggestion"])
11
+
12
+ if tool == "Scribe":
13
+ st.subheader("πŸ“„ Generate Bug Bounty Report")
14
+ vuln_type = st.text_input("Vulnerability Type")
15
+ vuln_url = st.text_input("Vulnerable URL")
16
+ payload = st.text_input("Payload")
17
+ impact = st.text_area("Impact")
18
+ if st.button("Generate"):
19
+ res = requests.post(f"{API_URL}/scribe", json={
20
+ "type": vuln_type,
21
+ "url": vuln_url,
22
+ "payload": payload,
23
+ "impact": impact
24
+ })
25
+ st.markdown(res.json()["report"])
26
+
27
+ elif tool == "KillChain":
28
+ st.subheader("πŸ”— Suggest Chained Attack")
29
+ findings = st.text_area("Paste findings (JSON or summary)")
30
+ if st.button("Suggest"):
31
+ res = requests.post(f"{API_URL}/killchain", json={"data": findings})
32
+ st.markdown(res.json()["chain"])
33
+
34
+ elif tool == "HeatSeeker":
35
+ st.subheader("🌑️ Risk Scoring")
36
+ url = st.text_input("Target URL")
37
+ status_code = st.number_input("Status Code", min_value=100, max_value=599, value=200)
38
+ params = st.text_input("Params JSON", '{"user":"admin"}')
39
+ if st.button("Score"):
40
+ res = requests.post(f"{API_URL}/score", json={
41
+ "url": url,
42
+ "params": eval(params),
43
+ "status_code": status_code
44
+ })
45
+ st.success(f"Score: {res.json()['score']}")
46
+
47
+ elif tool == "ReconGPT":
48
+ st.subheader("πŸ›°οΈ Recon Task Generator")
49
+ prompt = st.text_area("What do you want to find?", "Find all login endpoints.")
50
+ if st.button("Generate Task"):
51
+ res = requests.post(f"{API_URL}/recon", json={"prompt": prompt})
52
+ st.markdown(res.json()["task"])
53
+
54
+ elif tool == "Exploit Suggestion":
55
+ st.subheader("πŸ’₯ Attacker Simulation")
56
+ scenario = st.text_area("Bug scenario or data")
57
+ if st.button("Get Exploit Advice"):
58
+ res = requests.post(f"{API_URL}/exploit", json={"data": scenario})
59
+ st.markdown(res.json()["exploit"])