@bbradar/mcp 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -3
- package/benchmark/mcp-benchmark.mjs +98 -5
- package/dist/sanitize.js +13 -1
- package/dist/sanitize.js.map +1 -1
- package/dist/server.js +612 -26
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -131,7 +131,7 @@ Large target and change collections return at most 50 inline records by default.
|
|
|
131
131
|
|
|
132
132
|
## Performance Tuning
|
|
133
133
|
|
|
134
|
-
The defaults expose the
|
|
134
|
+
The defaults expose the 18-tool core surface and compact text results while enabling bounded concurrency, positive response caching, in-flight request coalescing, stale-while-revalidate program metadata, endpoint circuit breakers, and short negative caching for repeated 404/405 lookups. Set the tool profile to `full` when all specialized tools are needed.
|
|
135
135
|
|
|
136
136
|
| Environment variable | Default | Purpose |
|
|
137
137
|
| --- | ---: | --- |
|
|
@@ -141,7 +141,7 @@ The defaults expose the 17-tool core surface and compact text results while enab
|
|
|
141
141
|
| `BBRADAR_MCP_MAX_CONCURRENT_REQUESTS` | `6` | Maximum simultaneous upstream BBRadar API requests. |
|
|
142
142
|
| `BBRADAR_MCP_REQUEST_TIMEOUT_SECONDS` | `30` | Timeout for each active upstream request; queue time is excluded. |
|
|
143
143
|
| `BBRADAR_MCP_COMPACT_TOOL_TEXT` | `true` | Avoid duplicating full results for clients that consume MCP `structuredContent`. Set to `false` for legacy text-only clients. |
|
|
144
|
-
| `BBRADAR_MCP_TOOL_PROFILE` | `core` | Compact
|
|
144
|
+
| `BBRADAR_MCP_TOOL_PROFILE` | `core` | Compact 18-tool discovery surface. Set to `full` for every specialized tool. |
|
|
145
145
|
| `BBRADAR_MCP_PROGRAM_STALE_WHILE_REVALIDATE_SECONDS` | `300` | Maximum stale window for exact program metadata while one background refresh runs. |
|
|
146
146
|
| `BBRADAR_MCP_CIRCUIT_BREAKER_FAILURE_THRESHOLD` | `3` | Consecutive retryable endpoint failures before its circuit opens. |
|
|
147
147
|
| `BBRADAR_MCP_CIRCUIT_BREAKER_COOLDOWN_SECONDS` | `30` | Endpoint circuit cooldown before a new request is admitted. |
|
|
@@ -162,7 +162,23 @@ Run `npm run benchmark` for the deterministic local performance benchmark. It re
|
|
|
162
162
|
|
|
163
163
|
### Flexible multi-signal discovery
|
|
164
164
|
|
|
165
|
-
Use `
|
|
165
|
+
Use `find_hunt_targets` as the default one-call path when a request combines good rewards, wide scope, Web2/Web3 constraints, competition, target quality, or recently added targets. It performs one catalog pass, fetches the bounded recent-additions feed in parallel, enriches only the finalists with exact in-scope bounty-eligible target samples, and returns a final compact ranking. Its result explicitly requires no follow-up calls; use `get_program_targets` only when the user asks for an exhaustive scope dump for one selected program.
|
|
166
|
+
|
|
167
|
+
`find_hunt_targets` supports arbitrary platform inclusion/exclusion, scope/target/language filters, reward and breadth thresholds, Web2/Web3 modes, target-intelligence filters, freshness windows, and balanced/reward/scope/freshness/competition ranking. It suppresses bulk `bbradar://` resource links while preserving each program's public BBRadar and platform URLs, preventing large shortlists from flooding model context.
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"platforms": ["Immunefi", "HackenProof", "BugCrowd", "YesWeHack"],
|
|
172
|
+
"surface_mode": "web2",
|
|
173
|
+
"min_bounty_max": 3000,
|
|
174
|
+
"min_eligible_targets": 3,
|
|
175
|
+
"recent_target_days": 30,
|
|
176
|
+
"max_results": 10,
|
|
177
|
+
"ranking_mode": "balanced"
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Use `find_programs` as the lower-level program-only path when target enrichment is not wanted. Keep its output compact and do not issue parallel alternate-sort calls. When a user describes an exclusion without naming exact platform values, call `list_filters` first and reuse the observed values in one `find_hunt_targets` call.
|
|
166
182
|
|
|
167
183
|
For repository-aware hunting, use `find_repository_hunt_targets`. It fetches repository events and program/reward candidates concurrently inside one MCP call, joins them by program id, filters scored targets, removes non-requested associated platforms, and ranks the final matches by a balanced, reward-first, target-first, or recency-first strategy. The inputs remain generic across platforms and technology stacks, so the AI client does not need to plan and wait for a long sequence of separate calls.
|
|
168
184
|
|
|
@@ -192,6 +208,7 @@ This path uses one recent-changes request. Use `find_wildcard_programs` for a ra
|
|
|
192
208
|
- `get_program_targets`
|
|
193
209
|
- `get_recent_changes`
|
|
194
210
|
- `get_repository_changes`
|
|
211
|
+
- `find_hunt_targets`
|
|
195
212
|
- `find_repository_hunt_targets`
|
|
196
213
|
- `get_opportunities`
|
|
197
214
|
- `find_programs`
|
|
@@ -1,14 +1,29 @@
|
|
|
1
1
|
import http from "node:http";
|
|
2
2
|
import { performance } from "node:perf_hooks";
|
|
3
3
|
|
|
4
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
5
|
+
import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
|
|
6
|
+
|
|
4
7
|
import { BBRadarClient } from "../dist/bbradarClient.js";
|
|
8
|
+
import { createBbradarServer } from "../dist/server.js";
|
|
5
9
|
|
|
6
10
|
const programCount = 100;
|
|
7
11
|
const targetsPerProgram = 20;
|
|
12
|
+
const fixtureNow = new Date().toISOString();
|
|
8
13
|
const programs = Array.from({ length: programCount }, (_, index) => ({
|
|
9
14
|
id: `Platform:program-${index}`,
|
|
15
|
+
handle: `program-${index}`,
|
|
10
16
|
name: `Program ${index}`,
|
|
11
|
-
platform: "Platform"
|
|
17
|
+
platform: "Platform",
|
|
18
|
+
link: `https://example.com/program-${index}`,
|
|
19
|
+
scope_tags: ["domain", "api", "wildcard"],
|
|
20
|
+
added_at: fixtureNow,
|
|
21
|
+
last_updated: fixtureNow,
|
|
22
|
+
bounty_min: 100,
|
|
23
|
+
bounty_max: 5_000 + index * 100,
|
|
24
|
+
report_count: index,
|
|
25
|
+
target_counts: { total: targetsPerProgram, in_scope: targetsPerProgram, eligible_for_bounty: targetsPerProgram, wildcard: 2 },
|
|
26
|
+
target_activity: { latest_change_at: fixtureNow, added_24h: index < 10 ? 1 : 0, added_7d: index < 10 ? 2 : 0 }
|
|
12
27
|
}));
|
|
13
28
|
const targets = new Map(programs.map((program, programIndex) => [
|
|
14
29
|
program.id,
|
|
@@ -16,7 +31,11 @@ const targets = new Map(programs.map((program, programIndex) => [
|
|
|
16
31
|
identifier: `api-${targetIndex}.program-${programIndex}.example`,
|
|
17
32
|
target_type: "domain",
|
|
18
33
|
in_scope: true,
|
|
19
|
-
eligible_for_bounty: true
|
|
34
|
+
eligible_for_bounty: true,
|
|
35
|
+
wildcard: targetIndex < 2,
|
|
36
|
+
targetOpportunityScore: 70 + (targetIndex % 20),
|
|
37
|
+
targetOpportunityLabel: targetIndex < 5 ? "Strong Target" : "Potential Target",
|
|
38
|
+
competitionRisk: programIndex < 25 ? "Low" : "Medium"
|
|
20
39
|
}))
|
|
21
40
|
]));
|
|
22
41
|
const counters = { requests: 0, responseBytes: 0 };
|
|
@@ -28,6 +47,17 @@ const api = http.createServer((req, res) => {
|
|
|
28
47
|
|
|
29
48
|
if (url.pathname === "/api/v1/pro/programs") {
|
|
30
49
|
payload = { programs, meta: { total: programs.length, total_pages: 1 } };
|
|
50
|
+
} else if (url.pathname === "/api/v1/pro/targets/changes") {
|
|
51
|
+
payload = {
|
|
52
|
+
results: programs.slice(0, 10).map((program, index) => ({
|
|
53
|
+
id: index + 1,
|
|
54
|
+
change_type: "added",
|
|
55
|
+
changed_at: fixtureNow,
|
|
56
|
+
program,
|
|
57
|
+
target: targets.get(program.id)[0]
|
|
58
|
+
})),
|
|
59
|
+
meta: { total: 10, total_pages: 1 }
|
|
60
|
+
};
|
|
31
61
|
} else if (url.pathname === "/api/v1/pro/targets/search") {
|
|
32
62
|
payload = {
|
|
33
63
|
results: [{ program: programs[42], target: targets.get(programs[42].id)[0] }],
|
|
@@ -75,7 +105,7 @@ try {
|
|
|
75
105
|
);
|
|
76
106
|
const optimized = snapshot(performance.now() - optimizedStarted);
|
|
77
107
|
|
|
78
|
-
const
|
|
108
|
+
const clientConfig = {
|
|
79
109
|
apiKey: "benchmark",
|
|
80
110
|
apiBaseUrl: baseUrl,
|
|
81
111
|
webBaseUrl: "https://bbradar.io",
|
|
@@ -89,7 +119,8 @@ try {
|
|
|
89
119
|
toolProfile: "core",
|
|
90
120
|
requestTimeoutMs: 5_000,
|
|
91
121
|
validateOnStartup: false
|
|
92
|
-
}
|
|
122
|
+
};
|
|
123
|
+
const client = new BBRadarClient(clientConfig);
|
|
93
124
|
resetCounters();
|
|
94
125
|
const cacheStarted = performance.now();
|
|
95
126
|
for (let index = 0; index < 50; index += 1) {
|
|
@@ -97,6 +128,49 @@ try {
|
|
|
97
128
|
}
|
|
98
129
|
const cachedMetadata = snapshot(performance.now() - cacheStarted);
|
|
99
130
|
|
|
131
|
+
resetCounters();
|
|
132
|
+
const legacyHuntStarted = performance.now();
|
|
133
|
+
for (const sort of ["best", "freshest", "widest"]) {
|
|
134
|
+
await getJson(`${baseUrl}/pro/programs?sort=${sort}`, headers);
|
|
135
|
+
}
|
|
136
|
+
for (const program of programs.slice(0, 9)) {
|
|
137
|
+
await getJson(`${baseUrl}/pro/programs/${encodeURIComponent(program.id)}/targets`, headers);
|
|
138
|
+
}
|
|
139
|
+
for (const targetType of ["domain", "api", "wildcard"]) {
|
|
140
|
+
await getJson(`${baseUrl}/pro/targets/changes?target_type=${targetType}`, headers);
|
|
141
|
+
}
|
|
142
|
+
const legacyHunt = snapshot(performance.now() - legacyHuntStarted);
|
|
143
|
+
|
|
144
|
+
const huntApiClient = new BBRadarClient(clientConfig);
|
|
145
|
+
const huntServer = createBbradarServer(huntApiClient, clientConfig);
|
|
146
|
+
const huntClient = new Client({ name: "hunt-benchmark", version: "1" });
|
|
147
|
+
const [huntClientTransport, huntServerTransport] = InMemoryTransport.createLinkedPair();
|
|
148
|
+
await Promise.all([huntServer.connect(huntServerTransport), huntClient.connect(huntClientTransport)]);
|
|
149
|
+
let optimizedHuntResult;
|
|
150
|
+
let optimizedHunt;
|
|
151
|
+
try {
|
|
152
|
+
resetCounters();
|
|
153
|
+
const optimizedHuntStarted = performance.now();
|
|
154
|
+
optimizedHuntResult = await huntClient.callTool({
|
|
155
|
+
name: "find_hunt_targets",
|
|
156
|
+
arguments: {
|
|
157
|
+
platforms: ["Platform"],
|
|
158
|
+
target_types: ["domain", "api", "wildcard"],
|
|
159
|
+
min_bounty_max: 5_000,
|
|
160
|
+
min_eligible_targets: 5,
|
|
161
|
+
recent_target_days: 30,
|
|
162
|
+
max_program_pages: 1,
|
|
163
|
+
max_results: 10,
|
|
164
|
+
targets_per_result: 5,
|
|
165
|
+
upstream_request_budget: 20
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
optimizedHunt = snapshot(performance.now() - optimizedHuntStarted);
|
|
169
|
+
} finally {
|
|
170
|
+
await huntClient.close();
|
|
171
|
+
await huntServer.close();
|
|
172
|
+
}
|
|
173
|
+
|
|
100
174
|
const largeResult = Array.from({ length: 500 }, (_, index) => ({
|
|
101
175
|
identifier: `target-${index}.example`,
|
|
102
176
|
target_opportunity_score: 70 + (index % 20),
|
|
@@ -107,12 +181,16 @@ try {
|
|
|
107
181
|
const requestReduction = percentReduction(baseline.requests, optimized.requests);
|
|
108
182
|
const byteReduction = percentReduction(baseline.response_bytes, optimized.response_bytes);
|
|
109
183
|
const contextReduction = percentReduction(fullContextBytes, inlineContextBytes);
|
|
184
|
+
const huntRoundTripReduction = percentReduction(15, 1);
|
|
110
185
|
|
|
111
186
|
if (
|
|
112
187
|
requestReduction < 90 ||
|
|
113
188
|
byteReduction < 90 ||
|
|
114
189
|
cachedMetadata.requests !== 1 ||
|
|
115
|
-
contextReduction < 80
|
|
190
|
+
contextReduction < 80 ||
|
|
191
|
+
huntRoundTripReduction < 90 ||
|
|
192
|
+
optimizedHuntResult.structuredContent.matches.length !== 10 ||
|
|
193
|
+
optimizedHuntResult.content.some((item) => item.type === "resource_link")
|
|
116
194
|
) {
|
|
117
195
|
throw new Error("Performance regression threshold failed.");
|
|
118
196
|
}
|
|
@@ -131,6 +209,21 @@ try {
|
|
|
131
209
|
upstream: cachedMetadata,
|
|
132
210
|
cache_hit_ratio: client.diagnostics().response_cache.hits / 50
|
|
133
211
|
},
|
|
212
|
+
ranked_hunt_discovery: {
|
|
213
|
+
legacy_multi_call: {
|
|
214
|
+
model_tool_calls: 15,
|
|
215
|
+
upstream: legacyHunt
|
|
216
|
+
},
|
|
217
|
+
optimized_composite: {
|
|
218
|
+
model_tool_calls: 1,
|
|
219
|
+
upstream: optimizedHunt,
|
|
220
|
+
returned: optimizedHuntResult.structuredContent.matches.length,
|
|
221
|
+
resource_links: optimizedHuntResult.content.filter((item) => item.type === "resource_link").length
|
|
222
|
+
},
|
|
223
|
+
model_round_trip_reduction_percent: huntRoundTripReduction,
|
|
224
|
+
upstream_request_reduction_percent: percentReduction(legacyHunt.requests, optimizedHunt.requests),
|
|
225
|
+
upstream_byte_reduction_percent: percentReduction(legacyHunt.response_bytes, optimizedHunt.response_bytes)
|
|
226
|
+
},
|
|
134
227
|
bounded_model_context: {
|
|
135
228
|
full_500_record_bytes: fullContextBytes,
|
|
136
229
|
inline_50_record_bytes: inlineContextBytes,
|
package/dist/sanitize.js
CHANGED
|
@@ -34,7 +34,7 @@ export function sanitizeProgram(value, webBaseUrl) {
|
|
|
34
34
|
bbradar_url: isSelfHosted && handle
|
|
35
35
|
? `${webBaseUrl}/self-hosted/${encodeURIComponent(handle)}`
|
|
36
36
|
: id
|
|
37
|
-
? `${webBaseUrl}/
|
|
37
|
+
? `${webBaseUrl}/program/${encodeCatalogProgramId(id)}`
|
|
38
38
|
: undefined,
|
|
39
39
|
policy_url: readString(value.policy_url),
|
|
40
40
|
policy_host: readString(value.policy_host),
|
|
@@ -356,4 +356,16 @@ function sanitizeTargetActivity(value) {
|
|
|
356
356
|
function sanitizeString(value) {
|
|
357
357
|
return value.replace(CONTROL_CHARS, " ").trim().slice(0, MAX_SANITIZED_STRING_LENGTH);
|
|
358
358
|
}
|
|
359
|
+
function encodeCatalogProgramId(programId) {
|
|
360
|
+
const separatorIndex = programId.indexOf(":");
|
|
361
|
+
if (separatorIndex < 0) {
|
|
362
|
+
return encodeCatalogPathSegment(programId);
|
|
363
|
+
}
|
|
364
|
+
const platform = programId.slice(0, separatorIndex);
|
|
365
|
+
const handle = programId.slice(separatorIndex + 1);
|
|
366
|
+
return `${encodeURIComponent(platform)}:${encodeCatalogPathSegment(handle)}`;
|
|
367
|
+
}
|
|
368
|
+
function encodeCatalogPathSegment(value) {
|
|
369
|
+
return encodeURIComponent(value).replace(/%2F/giu, "%252F");
|
|
370
|
+
}
|
|
359
371
|
//# sourceMappingURL=sanitize.js.map
|
package/dist/sanitize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/sanitize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/sanitize.ts"],"names":[],"mappings":"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"}
|