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 +22 -0
- package/README.md +24 -24
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/docs/AUTONOMY.md +48 -136
- package/docs/usage.md +1 -1
- package/package.json +1 -1
- package/intelligence/ab_signals.json +0 -722
- package/intelligence/attack_chains.json +0 -666
- package/intelligence/awaiting_input_markers.json +0 -37
- package/intelligence/endpoint_patterns.json +0 -541
- package/intelligence/escalation_patterns.json +0 -224
- package/intelligence/file_extensions.json +0 -6
- package/intelligence/patterns.json +0 -437
- package/intelligence/refusal_markers.json +0 -35
- package/intelligence/scan_profiles.json +0 -40
- package/intelligence/skills.json +0 -1185
- package/intelligence/tools.json +0 -1292
- package/intelligence/tools_meta.json +0 -1247
- package/intelligence/unified_patterns.json +0 -2329
- package/intelligence/verification_patterns.json +0 -52
- package/intelligence/vuln_ontology.json +0 -189
- package/intelligence/waff_bypass.json +0 -677
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
|
|
57
|
+
## Autonomous, LLM-driven
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
|
66
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
-
→ [
|
|
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
|
-
| `
|
|
224
|
-
| `coverage_matrix()` | Enumerate language × sink-class coverage (4 languages ×
|
|
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 (
|
|
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** (`
|
|
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 ×
|
|
377
|
-
|
|
378
|
-
`
|
|
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
|
|
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
|
-
- [
|
|
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.
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -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/`)
|
|
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
|
|
1
|
+
# Blitz Strike — Autonomous Security Auditing (LLM-Driven)
|
|
2
2
|
|
|
3
|
-
Blitz Strike
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
27
|
+
The LLM drives a cycle, guided by three coordinated layers:
|
|
94
28
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
-
|
|
100
|
-
|
|
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
|
-
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
##
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
- `
|
|
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.
|
|
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": {
|