@@ -21,6 +21,7 @@ BBOT Server is a database and multiplayer hub for all your [BBOT](https://github
2121 - [x] REST API
2222 - [x] Python SDK
2323 - [x] Export to JSON/CSV
24+ - [x] [ AI interaction via MCP] ( #MCP )
2425
2526## Installation
2627
@@ -112,7 +113,7 @@ bbctl scan start "evilcorp_subdomains"
112113
113114You can monitor the scan's progress in several ways:
114115
115- ** Tail asset activity** :
116+ ### Tail asset activity:
116117
117118This will output an activity whenever a change is detected to an asset, e.g. a change in DNS, new open port, vulnerability, or technology.
118119
@@ -121,7 +122,7 @@ This will output an activity whenever a change is detected to an asset, e.g. a c
121122bbctl activity tail
122123```
123124
124- ** Tail raw events** :
125+ ### Tail raw events:
125126
126127If you'd like, you can also tail the raw events as they stream in from the BBOT scan.
127128
@@ -130,7 +131,7 @@ If you'd like, you can also tail the raw events as they stream in from the BBOT
130131bbctl event tail
131132```
132133
133- ** Check scan status** :
134+ ### Check scan status:
134135
135136You can monitor or stop an in-progress scan:
136137
@@ -151,23 +152,33 @@ You can list targets like so:
151152``` bash
152153# List targets
153154bbctl target list
154- ```
155155
156- You can create a target manually:
156+ # Create a new target
157+ bbctl target create --seeds seeds.txt --blacklist blacklist.txt
158+ ```
157159
158160## Custom triggers
159161
160- TODO
162+ You can kick off a custom command or bash script whenever a certain activity happens, such as when a new technology or open port is discovered.
163+
164+ ``` bash
165+ # Trigger a custom command whenever a new open port is discovered
166+ bbctl activity tail --json | jq -r ' select(.type == "PORT_OPENED") | .netloc' | while read netloc
167+ do
168+ echo " New open port at $netloc "
169+ ./custom_script.sh " $netloc "
170+ done
171+ ```
161172
162173## Alerting
163174
164175TODO
165176
166- ## View/export the data
177+ ## Query and Export Data
167178
168179You can query and export the data even while a scan is running.
169180
170- ** List assets ** :
181+ ### Assets
171182
172183``` bash
173184# List assets
@@ -180,7 +191,7 @@ bbctl asset export --csv > assets.csv
180191bbctl asset export --json | jq
181192```
182193
183- ** List events ** :
194+ ### Events
184195
185196``` bash
186197# List events
@@ -193,19 +204,78 @@ bbctl event export --csv > events.csv
193204bbctl event export --json | jq
194205```
195206
207+ ### Technologies
208+
209+ ``` bash
210+ # List technologies
211+ bbctl technology list
212+
213+ # List technologies by specific domain
214+ bbctl technology list --domain evilcorp.com
215+ ```
216+
217+ ### Findings
218+
219+ ``` bash
220+ # List findings
221+ bbctl finding list
222+
223+ # Search findings for a certain string
224+ bbctl finding list --search " IIS"
225+ ```
226+
227+ ### Statistics
228+
229+ Overarching statistics are stored for all assets, and can be queried by target or domain.
230+
231+ ``` bash
232+ # List stats for all assets
233+ bbctl asset stats | jq
234+
235+ # List stats for specific domain
236+ bbctl asset stats --domain evilcorp.com | jq
237+ ```
238+
239+ ### MCP
240+
241+ BBOT Server supports chat-based AI interaction via MCP (Model Context Protocol).
242+
243+ The SSE server listens at ` http://localhost:8807/v1/mcp/ `
244+
245+ ` mcp.json ` (cursor / vs code):
246+ ``` json
247+ {
248+ "mcpServers" : {
249+ "bbot" : {
250+ "url" : " http://localhost:8807/v1/mcp/"
251+ }
252+ }
253+ }
254+ ```
255+
256+ After connecting your AI client to BBOT Server, you can ask it sensible questions like, "Use MCP to get all the bbot findings", "what are the top open ports?", "what else can you do with BBOT MCP?", etc.
257+
196258## Screenshots
197259
198- * Scan editor (terminal UI)*
260+ * Tailing activities in real time*
261+
262+ ![ activity-tail] ( https://github.com/user-attachments/assets/8188f32c-45bc-4f81-bf98-c59adfbdc5df )
263+
264+ * AI Chat interaction via MCP*
265+
266+ ![ mcp] ( https://github.com/user-attachments/assets/3997b534-2ed8-4e04-b8c3-a7b42daf4106 )
267+
268+ * Scans*
199269
200- ![ scan-editor ] ( https://github.com/user-attachments/assets/9c31d2ef-f4f0-4d65-bd45-263a8d16bd7f )
270+ ![ scan-run-list ] ( https://github.com/user-attachments/assets/d6ffb6e5-06d7-4439-936a-3d2b1a6306ee )
201271
202- * Launch and monitor concurrent scans *
272+ * Technologies *
203273
204- ![ scans ] ( https://github.com/user-attachments/assets/7644809f-e111-49f8-b627-c0c77a65110a )
274+ ![ technology-list ] ( https://github.com/user-attachments/assets/7b662858-8c08-4bb9-a520-6381d2964dde )
205275
206- * Realtime asset monitoring *
276+ * Findings *
207277
208- ![ monitor-assets ] ( https://github.com/user-attachments/assets/ed7ac9f2-34e8-4770-a971-49fdf7f77bea )
278+ ![ finding-list ] ( https://github.com/user-attachments/assets/3fcbb977-6d47-4dc1-81b7-a26e8e3bc292 )
209279
210280* REST API*
211281
0 commit comments