blitzstrike 1.0.82 → 1.0.83

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 CHANGED
@@ -5,6 +5,28 @@ 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.83] — 2026-09-13
9
+
10
+ ### Removed — dead code, dead data, and stale docs (no decoration)
11
+
12
+ Full dead-code/dead-data audit. Removed:
13
+
14
+ - 16 `intelligence/*.json` files that were remnants of the removed deterministic
15
+ engine and no longer loaded by any code (`ab_signals`, `attack_chains`,
16
+ `awaiting_input_markers`, `endpoint_patterns`, `escalation_patterns`,
17
+ `file_extensions`, `patterns`, `refusal_markers`, `scan_profiles`, `skills`,
18
+ `tools`, `tools_meta`, `unified_patterns`, `verification_patterns`,
19
+ `vuln_ontology`, `waff_bypass`) — superseded by `chains.json`, `skills/`,
20
+ `tools-catalog.json`, and the live intel files.
21
+ - 3 `examples/*.sh` that invoked the removed `mission`/`benchmark` CLI.
22
+ - `templates/cves.json` (2.1 MB) — never loaded (NVD lookups use the API,
23
+ CVE correlation uses `cve_correlations.json`).
24
+
25
+ Rewrote `docs/AUTONOMY.md` (was describing the removed deterministic engine)
26
+ to document the LLM-driven model, and updated `README.md` / `docs/usage.md` /
27
+ `THIRD-PARTY-NOTICES.md` to drop the removed `mission`/`benchmark` CLI,
28
+ `run_benchmark`, and the stale 12-sink-class / 106-check counts.
29
+
8
30
  ## [1.0.82] — 2026-09-13
9
31
 
10
32
  ### Added — attack-vector focus + chain-to-chain composition
package/README.md CHANGED
@@ -54,24 +54,25 @@ confirms it.
54
54
 
55
55
  ---
56
56
 
57
- ## Autonomous engine
57
+ ## Autonomous, LLM-driven
58
58
 
59
- Beyond single-tool calls, Blitz Strike ships a **self-driving security research
60
- engine** (Mission Control). Give it a target and a scope — it plans, executes,
61
- verifies, reviews against false positives, fills coverage gaps, and reports,
62
- all without babysitting:
59
+ Blitz Strike is driven by the LLM — Claude, Hermes, OpenCode, Codex, or any
60
+ MCP client. **The LLM is the brain** (plans, routes, delegates, judges); **Blitz
61
+ Strike is the deterministic hands + knowledge + guardrails**.
62
+
63
+ A full engagement is one call, or a granular agent-orchestrated cycle:
63
64
 
64
65
  ```bash
65
- npx blitzstrike mission ./path/to/source --mode source
66
- npx blitzstrike mission https://example.com --mode web --scope example.com
67
- npx blitzstrike benchmark --full
66
+ npx blitzstrike serve --mcp # connect your agent, then ask it to
67
+ # "audit ./src" (source) or "audit https://example.com" (live)
68
68
  ```
69
69
 
70
- It is deterministic by default (no model calls unless configured), persists
71
- every mission (resumable), enforces scope + budget + termination policy, and
72
- keeps long-term memory of findings and failed approaches.
70
+ The LLM classifies the target automatically (URL → live pipeline, filesystem
71
+ path → source pipeline), then drives recon → analyze → verify → review →
72
+ report — guided by the bundled doctrine (`instructions` + skills + per-step
73
+ `next_steps`) and fanned out across the platform's native sub-agents.
73
74
 
74
- → [Autonomous engine](docs/AUTONOMY.md) — full architecture + reference.
75
+ → [Autonomy & doctrine](docs/AUTONOMY.md) — how the LLM is steered.
75
76
 
76
77
  ## Why TypeScript / Bun
77
78
 
@@ -136,8 +137,6 @@ blitzstrike serve --mcp # start MCP server over stdio (default)
136
137
  blitzstrike doctor # health check: runtime + 130-tool catalog + creds
137
138
  blitzstrike install # write MCP config to detected clients (Claude/Cursor/OpenCode)
138
139
  blitzstrike install --dry-run # preview the config without writing
139
- blitzstrike mission <target> # run an autonomous mission (source or web)
140
- blitzstrike benchmark # run the autonomous benchmark (--full for whole corpus)
141
140
  blitzstrike sync-data # fetch heavy datasets (payloads + templates) on-demand
142
141
  blitzstrike update # check for a newer version + refresh the data cache
143
142
  blitzstrike version # print version
@@ -220,8 +219,8 @@ MCP servers. With no client detected, it prints the snippet for manual paste.
220
219
  | `cvss_score(AV, AC, PR, UI, S, C, I, A)` | Compute a deterministic CVSS v3.1 base score + vector + severity (self-computed, not read from NVD). |
221
220
  | `dedup_findings(findings)` | Collapse findings that share a root cause (sink × source × CWE) into one group per root cause. |
222
221
  | `generate_report(findings, format)` | Emit a reproducible markdown/JSON report with summary + SHA-256 integrity hash. |
223
- | `run_benchmark()` | Run the labelled corpus and report detection rate, false-positive rate, and precision. |
224
- | `coverage_matrix()` | Enumerate language × sink-class coverage (4 languages × 12 sink classes) + coverage ratio. |
222
+ | `run_enterprise_benchmark()` | Run the labelled enterprise corpus and report detection rate, false-positive rate, and precision. |
223
+ | `coverage_matrix()` | Enumerate language × sink-class coverage (4 languages × 15 sink classes) + coverage ratio. |
225
224
 
226
225
  ### EAGLE-EYE — taint + data-flow
227
226
 
@@ -359,7 +358,7 @@ All other tools need no credentials.
359
358
  bun install # deps
360
359
  bun run typecheck # tsc --noEmit
361
360
  bun run build # ESM bundle → dist/index.js
362
- bun run test # regression + benchmark suite (106 checks)
361
+ bun run test # regression + benchmark suite (183 checks)
363
362
  bun run compile # single static binary → dist/blitzstrike
364
363
  ```
365
364
 
@@ -370,16 +369,17 @@ bun run compile # single static binary → dist/blitzstrike
370
369
  Blitz Strike carries a benchmark suite and a coverage matrix so quality is a
371
370
  number you can re-run, not a claim.
372
371
 
373
- - **Benchmark** (`run_benchmark`) — a labelled corpus of vulnerable + safe
374
- fixtures across PHP, JavaScript, Python, and Java. Current result:
372
+ - **Benchmark** (`run_enterprise_benchmark`) — a labelled corpus of vulnerable +
373
+ safe fixtures across PHP, JavaScript, Python, and Java. Current result:
375
374
  detection rate **1.0**, false-positive rate **0**, precision **1.0**.
376
- - **Coverage matrix** (`coverage_matrix`) — 4 languages × 12 sink classes =
377
- 35/48 pairs covered (**72.9%**). The two uncovered classes (`xml_processing`,
378
- `archive_extraction`) are tracked in the roadmap.
375
+ - **Coverage matrix** (`coverage_matrix`) — 4 languages × 15 sink classes =
376
+ 56/60 pairs covered. The four uncovered pairs are legitimately absent from
377
+ the language (e.g. Java has no `eval`, Python/Java no PHP-style file
378
+ inclusion, JS no deserialization sink).
379
379
  - **Attack-vector taxonomy** (`list_attack_vectors` / `attack_vectors`) — a
380
380
  master reference of 34 attack-vector categories (588 vectors) so a driving
381
381
  agent can map the *entire* attack surface, not just the obvious sinks.
382
- - **Regression suite** — `bun run test` runs 106 checks covering finding
382
+ - **Regression suite** — `bun run test` runs 183 checks covering finding
383
383
  lifecycle, evidence integrity, CVSS math, taint tracing, dedup, report
384
384
  integrity, and benchmark invariants. CI runs it on every push.
385
385
 
@@ -405,7 +405,7 @@ Do not use against systems without explicit permission from the owner.
405
405
 
406
406
  - [Installation](docs/installation.md) — prerequisites, install, client registration.
407
407
  - [Usage](docs/usage.md) — one-call engagement, granular path, modes, memory.
408
- - [Autonomous engine](docs/AUTONOMY.md) — Mission Control, agents, security graph, benchmark.
408
+ - [Autonomy & doctrine](docs/AUTONOMY.md) — LLM-driven autonomy, resource map, guardrails.
409
409
  - [Manifesto](docs/manifesto.md) — the invariants that drive the methodology.
410
410
  - [Contributing](CONTRIBUTING.md) — how to add chains, tools, and data.
411
411
  - [Changelog](CHANGELOG.md) — version history.
@@ -46,7 +46,7 @@ satisfies the attribution requirements of those licenses.
46
46
 
47
47
  - **Source:** https://github.com/projectdiscovery/nuclei-templates
48
48
  - **License:** MIT
49
- - **Used for:** ~11.9k YAML detection templates (`templates/`) + `cves.json`.
49
+ - **Used for:** ~11.9k YAML detection templates (`templates/`).
50
50
 
51
51
  ---
52
52
 
package/docs/AUTONOMY.md CHANGED
@@ -1,147 +1,59 @@
1
- # Blitz Strike — Autonomous Security Research & Verification Engine
1
+ # Blitz Strike — Autonomous Security Auditing (LLM-Driven)
2
2
 
3
- Blitz Strike's autonomous layer turns the three-tier methodology (BLITZ →
4
- EAGLE-EYE → STRIKE) into a **self-driving security research engine**. Give it a
5
- target and a scope; it plans, executes, verifies, reviews, and reports — without
6
- babysitting.
3
+ Blitz Strike is a **universal security-audit toolbelt** that an LLM agent
4
+ (Hermes, Claude, OpenCode, Codex — any MCP client) drives end-to-end without
5
+ babysitting. The split is deliberate:
7
6
 
8
- This document describes the autonomous engine added on top of the existing
9
- deterministic core. The core (`blitz_scan`, `eagle_eye2`, `strike_verify`, the
10
- taint engine, live recon) is unchanged and always available.
7
+ - **The LLM is the brain** — it plans, routes, reasons over results, delegates,
8
+ and judges. It is never replaced by a deterministic loop.
9
+ - **Blitz Strike is the hands + knowledge + guardrails** — deterministic
10
+ analysis, verification, the finding lifecycle, and the intelligence data
11
+ layer.
11
12
 
12
- ---
13
+ ## The three tiers
13
14
 
14
- ## 1. Design principles
15
+ | Tier | What it does | Key tools |
16
+ |------|-------------|-----------|
17
+ | **BLITZ** | Attack-surface mapping, recon | `blitz_scan`, `blitz_file`, `live_recon`, `detect_framework`, `list_attack_vectors` |
18
+ | **EAGLE-EYE** | Source→sink reachability | `taint_file`, `eagle_eye2`, `trace_data_flow`, `route_scan`, `complex_scan` |
19
+ | **STRIKE** | Live validation | `strike_verify` (baseline + marker + negative control), `strike_resolve` |
15
20
 
16
- - **Detection is not proof.** A scan hit is a hypothesis; only live verification
17
- (or an adversarial review) turns it into a finding.
18
- - **A hypothesis is not a finding.** They are separate states that never conflate.
19
- - **AI reasoning is not evidence.** Every finding carries deterministic evidence
20
- (marker reflection, negative control, source→sink trace).
21
- - **The LLM never controls policy.** Routing is
22
- `LLM → Planner → Policy engine → Task executor → Tool`, never an arbitrary
23
- shell call. The policy engine enforces scope, risk, and budgets.
24
- - **Deterministic by default.** No model is called unless a provider is
25
- explicitly configured (§Model routing).
26
-
27
- ---
28
-
29
- ## 2. Components
30
-
31
- | Component | Module | Role |
32
- |---|---|---|
33
- | Mission State | `src/mission/state.ts` | Persistent, resumable missions (`~/.blitzstrike/missions/<id>.json`) |
34
- | Task Graph | `src/mission/taskgraph.ts` | Dependency-aware, parallel scheduler |
35
- | Mission Control | `src/mission/control.ts` | The autonomous loop (observe → act → replan → terminate) |
36
- | Specialized Agents | `src/agents.ts` | 13 deterministic agents (recon, source, auth, validator, reviewer, browser, …) |
37
- | Security Graph | `src/mission/graph.ts` | Shared world model (targets, sinks, endpoints, chains) |
38
- | Hypothesis Engine | `src/mission/hypothesis.ts` | observation → hypothesis → validated finding / rejected |
39
- | Adaptive Planner | `src/mission/planner.ts` | Evidence-driven next actions (SSRF → metadata, LFI → logs, …) |
40
- | Escalation Graph | `src/mission/planner.ts` | The 57 chains integrated into the world model |
41
- | Coverage Scheduler | `src/mission/coverage.ts` | Auto-generates tasks for under-explored dimensions |
42
- | Failure Recovery | `src/mission/recovery.ts` | Diagnose → retry / alternative / record — never repeat a mistake |
43
- | Adversarial Reviewer | `src/mission/reviewer.ts` | Ten §questions → CONFIRMED / REJECTED / NEEDS_MORE_EVIDENCE |
44
- | Browser Agent | `src/browser-agent.ts` | Session-based real browser (login flows, DOM issues) |
45
- | Model Router | `src/mission/router.ts` | Task → model tier (pure routing, deterministic default) |
46
- | Budget Controller | `src/mission/budget.ts` | time / tasks / requests / tokens / cost + per-task budget |
47
- | Termination Engine | `src/mission/termination.ts` | Seven traceable termination reasons |
48
- | Cross-agent Memory | `src/mission/memory.ts` | Persist findings + failed approaches (with `future_policy`) |
49
- | Benchmark | `src/mission/benchmark.ts` | Full-engine precision / recall / F1 against a labelled corpus |
50
-
51
- ---
52
-
53
- ## 3. Mission lifecycle
54
-
55
- ```
56
- ┌──────────────────────────────────────────────┐
57
- │ Mission Control │
58
- target ─▶ │ OBSERVE → schedule → execute → collect │
59
- scope ─▶ │ ↓ │
60
- │ REPLAN (validator → reviewer → reporter, │
61
- │ coverage gaps) │
62
- │ ↓ │
63
- │ terminate (traceable reason) │
64
- └──────────────────────────────────────────────┘
65
- │ │
66
- Security Graph (world model) ←→ Hypothesis Engine
67
- │
68
- Cross-agent Memory (findings + failed approaches)
69
- ```
70
-
71
- A mission is a state machine persisted to disk after every step, so it survives
72
- a process restart and can be resumed with `blitz mission resume <id>`.
73
-
74
- ### Termination reasons (§Termination)
75
-
76
- `objective_complete` · `no_progress` · `max_iterations` · `budget_exhausted` ·
77
- `user_interrupted` · `safety_violation` · `scope_violation`. Each is recorded in
78
- the mission's `decision_log` with a detail string.
79
-
80
- ---
81
-
82
- ## 4. Safety invariants (never bypassed)
83
-
84
- - **Scope gate** — a URL target requires an authorized scope before any agent
85
- runs; local source paths are always allowed.
86
- - **No raw secrets persisted** — `redactSecrets` runs before anything is written.
87
- - **Negative controls** — a finding is only confirmed when the control stays inert.
88
- - **No destructive actions** — the engine is read-only / probe-only.
89
- - **Deterministic by default** — no model call unless configured.
21
+ Plus a canonical evidence-first finding engine (`finding_create` →
22
+ `finding_transition` → `finding_attach_evidence`) and a multi-language taint
23
+ engine (PHP/JS/TS/Python/Java).
90
24
 
91
- ---
25
+ ## How autonomy actually works
92
26
 
93
- ## 5. CLI
27
+ The LLM drives a cycle, guided by three coordinated layers:
94
28
 
95
- ```bash
96
- # Run an autonomous mission against a source tree
97
- blitzstrike mission ./path/to/source --mode source
29
+ 1. **Static `instructions`** — the mental model, target routing, resource map,
30
+ and persistence doctrine, injected when the MCP server connects.
31
+ 2. **Skills (doctrine)** — `bs-orchestrate-engagement`, `bs-scope-gate`,
32
+ `bs-source-audit`, `bs-verify-finding`, `bs-adversarial-review`,
33
+ `bs-write-report`, loaded per phase.
34
+ 3. **Dynamic `next_steps`** — per-result guidance telling the LLM what to do
35
+ after each tool call.
98
36
 
99
- # Run an autonomous mission against a live URL (requires --scope)
100
- blitzstrike mission https://example.com --mode web --scope example.com
37
+ A full engagement is orchestrated with the platform's **native plan +
38
+ sub-agent** primitives (e.g. Hermes `plan`/`todo` + `delegate_task`): route the
39
+ target (URL vs source), read the matching playbook, then fan out recon /
40
+ analyze / deep-classes workstreams in parallel, collect, verify, and report.
101
41
 
102
- # Resume / inspect a mission
103
- blitzstrike mission resume <mission-id>
104
- blitzstrike mission status <mission-id>
105
- blitzstrike mission list
42
+ ## Guardrails (the anti-hallucination core)
106
43
 
107
- # Run the autonomous benchmark (--full for the whole 101-fixture corpus)
108
- blitzstrike benchmark --full
109
- ```
110
-
111
- ---
112
-
113
- ## 6. MCP (autonomous mission mode)
114
-
115
- The autonomous layer is exposed alongside the low-level tools:
116
-
117
- | Tool | Purpose |
118
- |---|---|
119
- | `mission_start` | Start an autonomous mission (target + mode + scope) |
120
- | `mission_status` | Full mission state (tasks, hypotheses, graph, coverage) |
121
- | `mission_resume` | Resume an interrupted mission |
122
- | `mission_stop` | Stop a running mission |
123
- | `mission_list` | List persisted missions |
124
- | `browser_agent` | Session-based browser ops (open/click/type/evaluate/…) |
125
-
126
- Low-level tools (`blitz_scan`, `eagle_eye2`, `strike_verify`, `run_engagement`,
127
- …) remain available for manual, step-by-step engagements.
128
-
129
- ---
130
-
131
- ## 7. No-babysitting
132
-
133
- The autonomous mission handles its own recovery, strategy changes, delegation,
134
- new-task creation, surface discovery, verification, false-positive rejection,
135
- and coverage gaps. Human input is only needed for: initial authorization/scope,
136
- high-risk approval when policy requires it, and (optional) final review.
137
-
138
- ---
139
-
140
- ## 8. Examples
141
-
142
- See `examples/` for runnable scripts. The shortest path:
143
-
144
- ```bash
145
- npx blitzstrike benchmark --full # measure the engine
146
- npx blitzstrike mission ./src --mode source # autonomous source audit
147
- ```
44
+ - **Detection is not proof.** A scan hit is a hypothesis.
45
+ - **A hypothesis is not a finding.** Separate states, never conflated.
46
+ - **AI reasoning is not evidence.** Every finding carries deterministic evidence
47
+ (marker reflection, negative control, source→sink trace, SHA-256-tagged).
48
+ - **Scope first.** Out-of-scope or destructive work is refused.
49
+
50
+ ## The resource map (know what to reach for)
51
+
52
+ - **TOOL** = acts (scan, taint, verify, record).
53
+ - **PLAYBOOK** (17) = campaign plan for a target type (`web-application`,
54
+ `api-security`, `source-code-audit`, `active-directory`, …).
55
+ - **SKILL** (38) = phase/technique doctrine.
56
+ - **MANUAL** (317) = deep reference for one tool.
57
+ - **PAYLOAD** (66 categories) = attack payloads for a class.
58
+ - **INTELLIGENCE** = 36 escalation chains, 18 chain→chain links, 34 attack-vector
59
+ categories, bypass techniques, WAF/tech/CVE/port correlations.
package/docs/usage.md CHANGED
@@ -53,7 +53,7 @@ Only after `strike_verify` reflects your marker AND the chain's
53
53
  verified knowledge.
54
54
  - `cvss_score` / `dedup_findings` / `generate_report` — self-computed CVSS,
55
55
  root-cause dedup, and reproducible reports.
56
- - `run_benchmark` / `coverage_matrix` — measure detection quality and coverage.
56
+ - `run_enterprise_benchmark` / `coverage_matrix` — measure detection quality and coverage.
57
57
 
58
58
  ## Memory
59
59
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blitzstrike",
3
- "version": "1.0.82",
3
+ "version": "1.0.83",
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": {