blitzstrike 1.0.52 → 1.0.57
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 +74 -0
- package/README.md +20 -0
- package/dist/index.js +32778 -32633
- package/docs/AUTONOMY.md +147 -0
- package/package.json +1 -1
package/docs/AUTONOMY.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Blitz Strike — Autonomous Security Research & Verification Engine
|
|
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.
|
|
7
|
+
|
|
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.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 1. Design principles
|
|
15
|
+
|
|
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.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 5. CLI
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Run an autonomous mission against a source tree
|
|
97
|
+
blitzstrike mission ./path/to/source --mode source
|
|
98
|
+
|
|
99
|
+
# Run an autonomous mission against a live URL (requires --scope)
|
|
100
|
+
blitzstrike mission https://example.com --mode web --scope example.com
|
|
101
|
+
|
|
102
|
+
# Resume / inspect a mission
|
|
103
|
+
blitzstrike mission resume <mission-id>
|
|
104
|
+
blitzstrike mission status <mission-id>
|
|
105
|
+
blitzstrike mission list
|
|
106
|
+
|
|
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
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blitzstrike",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.57",
|
|
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": {
|