blitzstrike 1.0.74 → 1.0.76
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/CHANGELOG.md +18 -0
- package/dist/index.js +15 -1
- package/package.json +1 -1
- package/skills/bs-orchestrate-engagement.md +24 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,24 @@ All notable changes to Blitz Strike are documented here.
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
7
7
|
|
|
8
|
+
## [1.0.76] — 2026-09-13
|
|
9
|
+
|
|
10
|
+
### Changed — native plan + sub-agent orchestration doctrine
|
|
11
|
+
|
|
12
|
+
- `bs-orchestrate-engagement` now instructs the driving agent to use its
|
|
13
|
+
platform's native planning + delegation (e.g. Hermes `plan`/`todo` +
|
|
14
|
+
`delegate_task`) to run the engagement in parallel — recon / analyze /
|
|
15
|
+
deep-classes as sub-agents, then collect → verify → report — instead of
|
|
16
|
+
serial tool calls.
|
|
17
|
+
|
|
18
|
+
## [1.0.75] — 2026-09-13
|
|
19
|
+
|
|
20
|
+
### Added — plan checklist in the engagement banner
|
|
21
|
+
|
|
22
|
+
- `run_engagement` now renders its engagement plan as a checkbox checklist
|
|
23
|
+
(`[✓] done / [☐] pending`) right under the "orchestrator in control" banner,
|
|
24
|
+
so the terminal shows both the takeover notice and what was/will be done.
|
|
25
|
+
|
|
8
26
|
## [1.0.74] — 2026-09-13
|
|
9
27
|
|
|
10
28
|
### Fixed — banner now visibly surfaces in the terminal
|
package/dist/index.js
CHANGED
|
@@ -30814,6 +30814,16 @@ function formatStatus(opts) {
|
|
|
30814
30814
|
return lines.join(`
|
|
30815
30815
|
`);
|
|
30816
30816
|
}
|
|
30817
|
+
function formatPlanChecklist(plan) {
|
|
30818
|
+
const mark = (s) => s === "done" ? "✓" : s === "pending" ? "☐" : "▶";
|
|
30819
|
+
const items = plan.map((p) => `[${mark(p.status)}] ${p.state}`);
|
|
30820
|
+
const rows = [];
|
|
30821
|
+
for (let i = 0;i < items.length; i += 3) {
|
|
30822
|
+
rows.push(" " + items.slice(i, i + 3).map((s) => s.padEnd(22)).join(""));
|
|
30823
|
+
}
|
|
30824
|
+
return rows.join(`
|
|
30825
|
+
`);
|
|
30826
|
+
}
|
|
30817
30827
|
var _chainsCache = null;
|
|
30818
30828
|
function loadChains() {
|
|
30819
30829
|
if (_chainsCache)
|
|
@@ -53519,10 +53529,14 @@ function createServer() {
|
|
|
53519
53529
|
const isUrl = /^https?:\/\//i.test(target);
|
|
53520
53530
|
const r = isUrl ? await runLiveEngagement(target, scope ?? "", mode ?? "bug-bounty") : runEngagement(target, scope ?? "", mode ?? "bug-bounty", max_files ?? 2000, remember ?? true);
|
|
53521
53531
|
const banner = typeof r.banner === "string" ? r.banner : "";
|
|
53532
|
+
const planText = Array.isArray(r.plan) && r.plan.length ? `
|
|
53533
|
+
|
|
53534
|
+
plan:
|
|
53535
|
+
${formatPlanChecklist(r.plan)}` : "";
|
|
53522
53536
|
const statusLine = r.status === "BLOCKED" ? `✋ BLOCKED — ${r.reason ?? "scope required"}` : `→ ${Array.isArray(r.findings) ? r.findings.length : 0} finding(s), status=${r.status ?? "COMPLETE"}`;
|
|
53523
53537
|
return {
|
|
53524
53538
|
content: [
|
|
53525
|
-
{ type: "text", text: banner ? `${banner}
|
|
53539
|
+
{ type: "text", text: banner ? `${banner}${planText}
|
|
53526
53540
|
|
|
53527
53541
|
${statusLine}` : statusLine },
|
|
53528
53542
|
{ type: "text", text: JSON.stringify(r) }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blitzstrike",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.76",
|
|
4
4
|
"description": "Blitz Strike — a universal MCP security-audit toolbelt. BLITZ sweeps the attack surface, EAGLE-EYE traces source-to-sink, STRIKE verifies live. 57 attack chains, 130-tool catalog, intelligence data layer. One server, every agent.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,6 +37,30 @@ deterministic MCP tools; never guess a finding — produce it from tool output.
|
|
|
37
37
|
|
|
38
38
|
6. **Report.** Emit `generate_report` + `cvss_score` + `write-report`.
|
|
39
39
|
|
|
40
|
+
## Orchestration pattern (native plan + sub-agents)
|
|
41
|
+
|
|
42
|
+
You are the orchestrator — use your platform's native planning and delegation
|
|
43
|
+
mechanisms (e.g. Hermes `plan`/`todo` + `delegate_task`) to run the engagement
|
|
44
|
+
in parallel, instead of serial tool calls. This is what makes the flow
|
|
45
|
+
no-babysitting, not a single `run_engagement` call:
|
|
46
|
+
|
|
47
|
+
1. **Plan.** Lay out the stages as a todo/plan: scope → recon → analyze →
|
|
48
|
+
verify → review → report. Assign each independent workstream to a sub-agent.
|
|
49
|
+
2. **Delegate (parallel).** Spawn sub-agents for independent workstreams:
|
|
50
|
+
- *Recon* → `blitz_scan` + `live_recon` + `detect_framework` + `list_chains`.
|
|
51
|
+
- *Analyze* → `eagle_eye2` + `taint_scan` + `trace_data_flow` (source→sink).
|
|
52
|
+
- *Deep classes* → `complex_scan` (POP/type-juggling/mass-assignment) +
|
|
53
|
+
`route_scan` (route confusion).
|
|
54
|
+
Each sub-agent returns deterministic findings — give it the target, the
|
|
55
|
+
exact tools to call, and require evidence (file:line, sink, chain), never prose.
|
|
56
|
+
3. **Collect + verify.** Merge sub-agent findings, `dedup_findings` by root
|
|
57
|
+
cause, then prove each hypothesis with `strike_verify` (baseline + marker +
|
|
58
|
+
negative control) before it becomes a finding.
|
|
59
|
+
4. **Report.** `generate_report` + `cvss_score` + `write-report`.
|
|
60
|
+
|
|
61
|
+
Announce the takeover banner and progress (`blitz_status`) between steps so the
|
|
62
|
+
user sees you working, not a silent tool call.
|
|
63
|
+
|
|
40
64
|
## The skill chain (load the right one per phase)
|
|
41
65
|
|
|
42
66
|
| Phase | Skill |
|