blitzstrike 1.0.73 → 1.0.75
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 +19 -0
- package/dist/index.js +22 -1
- package/package.json +1 -1
- package/skills/bs-orchestrate-engagement.md +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,25 @@ 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.75] — 2026-09-13
|
|
9
|
+
|
|
10
|
+
### Added — plan checklist in the engagement banner
|
|
11
|
+
|
|
12
|
+
- `run_engagement` now renders its engagement plan as a checkbox checklist
|
|
13
|
+
(`[✓] done / [☐] pending`) right under the "orchestrator in control" banner,
|
|
14
|
+
so the terminal shows both the takeover notice and what was/will be done.
|
|
15
|
+
|
|
16
|
+
## [1.0.74] — 2026-09-13
|
|
17
|
+
|
|
18
|
+
### Fixed — banner now visibly surfaces in the terminal
|
|
19
|
+
|
|
20
|
+
- `run_engagement` now returns the "orchestrator in control" banner as a
|
|
21
|
+
standalone first text block (plus a one-line status summary), instead of
|
|
22
|
+
burying it inside the JSON result — so it actually appears in the client
|
|
23
|
+
terminal when the engagement starts.
|
|
24
|
+
- `bs-orchestrate-engagement` now instructs the driving agent to relay the
|
|
25
|
+
banner verbatim and drive `blitz_status` for live progress.
|
|
26
|
+
|
|
8
27
|
## [1.0.73] — 2026-09-13
|
|
9
28
|
|
|
10
29
|
### Added — orchestrator "in control" banner + live progress
|
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)
|
|
@@ -53518,8 +53528,19 @@ function createServer() {
|
|
|
53518
53528
|
}, async ({ target, scope, mode, max_files, remember }) => {
|
|
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);
|
|
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)}` : "";
|
|
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"}`;
|
|
53521
53537
|
return {
|
|
53522
|
-
content: [
|
|
53538
|
+
content: [
|
|
53539
|
+
{ type: "text", text: banner ? `${banner}${planText}
|
|
53540
|
+
|
|
53541
|
+
${statusLine}` : statusLine },
|
|
53542
|
+
{ type: "text", text: JSON.stringify(r) }
|
|
53543
|
+
]
|
|
53523
53544
|
};
|
|
53524
53545
|
});
|
|
53525
53546
|
server.registerTool("blitz_status", {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blitzstrike",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.75",
|
|
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": {
|
|
@@ -15,6 +15,12 @@ deterministic MCP tools; never guess a finding — produce it from tool output.
|
|
|
15
15
|
Static source paths on disk are always in-scope; live URLs require an
|
|
16
16
|
explicit scope.
|
|
17
17
|
|
|
18
|
+
**Announce takeover.** When you start an engagement, `run_engagement`
|
|
19
|
+
returns a `banner` ("orchestrator in control") as a standalone text block.
|
|
20
|
+
RELAY that banner verbatim to the user — it is the visible signal that you
|
|
21
|
+
have taken control, not a detail to bury in a JSON dump. Then drive
|
|
22
|
+
`blitz_status` at each stage to show live progress.
|
|
23
|
+
|
|
18
24
|
2. **Recon (passive-first).** For a live target: `live_recon` (fingerprint, WAF,
|
|
19
25
|
endpoints, tech). For a source tree: `blitz_scan` (entry points + sinks),
|
|
20
26
|
`detect_framework`, `list_attack_vectors`.
|