blitzstrike 1.0.75 → 1.0.77
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 +20 -0
- package/package.json +1 -1
- package/skills/bs-orchestrate-engagement.md +28 -0
- package/skills/bs-source-audit.md +20 -10
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,26 @@ 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.77] — 2026-09-13
|
|
9
|
+
|
|
10
|
+
### Fixed — explicit tool argument names in doctrine
|
|
11
|
+
|
|
12
|
+
- `bs-source-audit` now documents the exact argument convention: all
|
|
13
|
+
source-analysis tools take `path` (file or directory); only `run_engagement`
|
|
14
|
+
takes `target` (path or URL). Workflow steps now show `{path}` explicitly.
|
|
15
|
+
- `bs-orchestrate-engagement` tells sub-agents to load `source-audit` for the
|
|
16
|
+
argument names instead of guessing `target` vs `path`.
|
|
17
|
+
|
|
18
|
+
## [1.0.76] — 2026-09-13
|
|
19
|
+
|
|
20
|
+
### Changed — native plan + sub-agent orchestration doctrine
|
|
21
|
+
|
|
22
|
+
- `bs-orchestrate-engagement` now instructs the driving agent to use its
|
|
23
|
+
platform's native planning + delegation (e.g. Hermes `plan`/`todo` +
|
|
24
|
+
`delegate_task`) to run the engagement in parallel — recon / analyze /
|
|
25
|
+
deep-classes as sub-agents, then collect → verify → report — instead of
|
|
26
|
+
serial tool calls.
|
|
27
|
+
|
|
8
28
|
## [1.0.75] — 2026-09-13
|
|
9
29
|
|
|
10
30
|
### Added — plan checklist in the engagement banner
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blitzstrike",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.77",
|
|
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,34 @@ 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
|
+
Source-analysis tools take a `path` argument (file or directory); only
|
|
55
|
+
`run_engagement` takes `target` (path or URL). Point each sub-agent at the
|
|
56
|
+
`source-audit` skill so it knows the exact argument names — do not let it
|
|
57
|
+
guess `target` vs `path`.
|
|
58
|
+
Each sub-agent returns deterministic findings — give it the target, the
|
|
59
|
+
exact tools to call, and require evidence (file:line, sink, chain), never prose.
|
|
60
|
+
3. **Collect + verify.** Merge sub-agent findings, `dedup_findings` by root
|
|
61
|
+
cause, then prove each hypothesis with `strike_verify` (baseline + marker +
|
|
62
|
+
negative control) before it becomes a finding.
|
|
63
|
+
4. **Report.** `generate_report` + `cvss_score` + `write-report`.
|
|
64
|
+
|
|
65
|
+
Announce the takeover banner and progress (`blitz_status`) between steps so the
|
|
66
|
+
user sees you working, not a silent tool call.
|
|
67
|
+
|
|
40
68
|
## The skill chain (load the right one per phase)
|
|
41
69
|
|
|
42
70
|
| Phase | Skill |
|
|
@@ -8,27 +8,37 @@ description: Use when auditing source code (PHP/JS/Python/Java/etc.) for vulnera
|
|
|
8
8
|
Drive Blitz Strike's static analyzers over a source tree and turn each hit into a
|
|
9
9
|
hypothesis. Do not hand-guess; let the tools produce the source→sink evidence.
|
|
10
10
|
|
|
11
|
+
## Tool argument convention (read this first)
|
|
12
|
+
|
|
13
|
+
- **All source-analysis tools take `path`** (a file or directory):
|
|
14
|
+
`blitz_scan`, `eagle_eye2`, `taint_scan`, `taint_file`, `blitz_file`,
|
|
15
|
+
`trace_data_flow`, `eagle_grep`, `variant_analysis`, `enrich_scan`,
|
|
16
|
+
`route_scan`, `complex_scan`, `detect_framework`.
|
|
17
|
+
Example: `blitz_scan {path: "/repo/app"}`.
|
|
18
|
+
- **Only `run_engagement` takes `target`** (accepts either a source path OR a
|
|
19
|
+
live URL). Do not pass `target` to the source-analysis tools — it is ignored.
|
|
20
|
+
|
|
11
21
|
## Workflow
|
|
12
22
|
|
|
13
|
-
1. **Map the tree.** `blitz_scan
|
|
14
|
-
routes, controllers) + sink inventory per file. `detect_framework` per
|
|
15
|
-
to know what conventions apply.
|
|
23
|
+
1. **Map the tree.** `blitz_scan {path}` — entry points (nopriv hooks, REST
|
|
24
|
+
routes, controllers) + sink inventory per file. `detect_framework {path}` per
|
|
25
|
+
file to know what conventions apply.
|
|
16
26
|
|
|
17
27
|
2. **Trace data flow.** For each source→sink candidate:
|
|
18
|
-
- `taint_file` / `taint_scan` — variable-level taint tracking
|
|
19
|
-
- `eagle_eye2` — whole-program interprocedural taint (PHP, method-
|
|
20
|
-
- `trace_data_flow` — classify sources vs sinks across a file.
|
|
28
|
+
- `taint_file {path}` / `taint_scan {path}` — variable-level taint tracking.
|
|
29
|
+
- `eagle_eye2 {path}` — whole-program interprocedural taint (PHP, method-aware).
|
|
30
|
+
- `trace_data_flow {path}` — classify sources vs sinks across a file.
|
|
21
31
|
- `variant_analysis` — group data-flow candidates by shared root cause.
|
|
22
32
|
|
|
23
|
-
3. **Escalate.** `enrich_scan` — match detected sinks to escalation
|
|
24
|
-
(SQLi → RCE, upload → shell, LFI → RCE). `list_chains` to see the full
|
|
33
|
+
3. **Escalate.** `enrich_scan {path}` — match detected sinks to escalation
|
|
34
|
+
chains (SQLi → RCE, upload → shell, LFI → RCE). `list_chains` to see the full
|
|
25
35
|
escalation taxonomy. `tech_correlation` for framework-specific weaknesses.
|
|
26
36
|
|
|
27
37
|
4. **Deep/complex classes.** Beyond plain taint, drive the dedicated detectors:
|
|
28
|
-
- `route_scan
|
|
38
|
+
- `route_scan {path}` — route confusion / dispatch abuse (`call_user_func`,
|
|
29
39
|
`$obj->$method()`, batch/proxy forwarding, dynamic include, route match
|
|
30
40
|
without path normalization).
|
|
31
|
-
- `complex_scan
|
|
41
|
+
- `complex_scan {path}` — deserialization→POP chain (`unserialize` +
|
|
32
42
|
`__destruct`/`__wakeup`/`__toString`), type juggling (loose `==`/`!=` vs
|
|
33
43
|
hash/secret), mass assignment (`extract()`/`parse_str()` without a safe flag).
|
|
34
44
|
|