Blitz Strike
Reconnaissance at speed. Analysis in depth. Validation before report.
Blitz Strike is a structured penetration-testing methodology — reconnaissance,
source analysis, and validation — delivered as a universal MCP server. It
enumerates the attack surface (BLITZ), traces source-to-sink reachability
(EAGLE-EYE), and verifies each finding live before it is reported (STRIKE).
One server, every agent: scope enforcement to submission-ready findings in a
single run_engagement call, with the relevant exploit-tool manual attached to
every result.
A scan hit is a hypothesis. A live test is the verdict.
Blitz Strike exists to eliminate the two most common failure modes in automated security assessment: false positives from surface-level pattern matching, and unverified findings reported without live confirmation.
What it does
Blitz Strike is a Model Context Protocol (MCP) server (TypeScript / Bun) that
packages a 3-tier security-audit methodology as callable tools — and runs the
whole engagement server-side, so a single run_engagement call works from
Claude Code, Cursor, Hermes, OpenCode, Claude Desktop, Gemini, or any MCP client.
The three tiers
Blitz Strike maps a structured penetration-testing methodology — reconnaissance, source analysis, and validation — into three tool tiers executed server-side.
Reconnaissance → analysis → validation. Nothing is reported until STRIKE confirms it.
Beyond the three tiers, Blitz Strike also ships Web3 audit (deterministic Solidity + executable Foundry proof), a live logic-bug prober (sibling enumeration + differential IDOR), hunting intel (CWE/CVE watchlist + DNS sinkhole detection), and out-of-band proof — so IDOR/auth logic bugs, blind injection, and smart-contract findings are all caught and proven, not just pattern-matched.
Autonomous, LLM-driven
Blitz Strike is driven by the LLM — Claude, Hermes, OpenCode, Codex, or any MCP client. The LLM is the brain (plans, routes, delegates, judges); Blitz Strike is the deterministic hands + knowledge + guardrails.
A full engagement is one call, or a granular agent-orchestrated cycle:
npx blitzstrike serve --mcp # connect your agent, then ask it to
# "audit ./src" (source) or "audit https://example.com" (live)
The LLM classifies the target automatically (URL → live pipeline, filesystem
path → source pipeline), then drives recon → analyze → verify → review →
report — guided by the bundled doctrine (instructions + skills + per-step
next_steps) and fanned out across the platform's native sub-agents.
→ Autonomy & doctrine — how the LLM is steered.
Why TypeScript / Bun
- Single static binary via
bun build --compile— ship one executable per platform. - Zero-install distribution via
bunx blitzstrike/npx blitzstrike. - MCP TypeScript SDK first-class (
@modelcontextprotocol/sdk). - One toolchain for dev + test + build + compile.
Quickstart (30 seconds)
# Zero-install — works from any MCP client, no clone, no build
npx -y blitzstrike doctor # verify the environment
npx -y blitzstrike install # auto-register with every detected agent CLI
npx blitzstrike install detects every installed agent CLI (Claude Code,
Cursor, OpenCode, Codex, Hermes, Gemini, Windsurf, Copilot, Cline) and writes
the correct MCP config to each one in its native format. Restart your agent and
call run_engagement.
From source:
git clone https://github.com/shinthink/blitzstrike.git
cd blitzstrike
bun install
bun run src/index.ts serve --mcp
Client Configuration (works in any MCP client)
{
"mcpServers": {
"blitzstrike": {
"command": "blitzstrike",
"args": ["serve", "--mcp"]
}
}
}
- Claude Code / Desktop:
claude_desktop_config.jsonor.mcp.json - Cursor:
.cursor/mcp.json - OpenCode:
.mcp.json - Hermes:
mcp_servers:inconfig.yaml - Gemini / Copilot: native MCP config
Run blitzstrike install to print the exact snippet.
CLI
blitzstrike serve --mcp # start MCP server over stdio (default)
blitzstrike doctor # health check: runtime + 130-tool catalog + creds
blitzstrike install # write MCP config to detected clients (Claude/Cursor/OpenCode)
blitzstrike install --dry-run # preview the config without writing
blitzstrike sync-data # fetch heavy datasets (payloads + templates) on-demand
blitzstrike update # check for a newer version + refresh the data cache
blitzstrike version # print version
What doctor checks
Each issue carries a fix: line — no guessing.
What install does
blitzstrike install detects which MCP client config files already exist
(Claude ~/.claude.json, Cursor ~/.cursor/mcp.json, project .mcp.json) and
merges the Blitz Strike server entry in — it never overwrites your existing
MCP servers. With no client detected, it prints the snippet for manual paste.
Tools
BLITZ — attack-surface triage
EAGLE-EYE — deep trace
STRIKE — verify + recon + orchestrate
CATALOG — breadth layer (tools + skills knowledge base)
MANUALS — deep tool reference + playbooks (wired into flow)
PHASE 4 — verification, measurement, reporting
EAGLE-EYE — taint + data-flow
INTELLIGENCE — data layer (WAF + correlations + fuzzer)
The intelligence layer (WAF signatures, tech/CVE/port correlations, fuzzer
data, vuln ontology, exploit payloads, nuclei detection templates) is sourced
from airecon (MIT), PayloadsAllTheThings (MIT), and nuclei-templates (MIT) —
loaded at runtime and wired into the tool surface above. The attack-vector
taxonomy (intelligence/attack_vectors.json) is first-party.
317 indexed tool manuals + 17 playbooks from kali-pentest (Apache-2.0) — 334 manual files, 100% of the 130-tool catalog documented. These are NOT decoration — they are wired into the flow:
tool_lookup(name)auto-attaches the tool's full manual.run_engagement()attaches the relevant manual per matched chain'stoolsfield.
WEB3 — smart-contract audit + proof
HUNTING — doctrine + live logic-bug prober + intel
MEMORY — long-term knowledge (self-growing)
Memory is append-only JSONL at ~/.blitzstrike/memory.jsonl (override with
BLITZSTRIKE_HOME). run_engagement auto-captures matched escalation chains
as pattern entries (deduped by chain id), so the knowledge base grows with
every engagement — no duplicate spam, and only verified=true entries are
authoritative.
Tools Catalog (tools-catalog.json)
130 self-written security tools (not copied from any project), each with command base, key flags, install command per platform, check_installed probe, phase, tags, alternatives, requires_root, pipes, and homepage.
Skills Knowledge Base (skills/)
32 skill playbooks (markdown) — universal, license-safe hidden gems from the internet (MIT). Our personal attack-tree playbooks were removed (they were private methodology, not universal exploit scripts).
- adversary-playbook (14, MIT) —
ap-*prefix. Rare offensive playbooks: cross-forest-trust-abuse, gitea-ci-injection, kerberos-trust-abuse, multi-domain-ad-attacks, client-side-crypto-forgery. - hack.proof (18, MIT) —
hp-*prefix. End-to-end audit playbooks: full-security-audit, smart-contract-audit, api-security-test, sast-code-review, container-image-scan, iac-cloud-posture.
See ATTRIBUTION.md for full license/copyright notices.
Escalation Chains (chains.json)
58 data-driven escalation chains, each with ordered steps carrying:
tool_hint— which Blitz Strike tool to usesuccess_criteria— binary observable for the stepinvariant_check— the assumption that MUST hold for exploitationnegative_control— how to refute the finding
Examples: ssrf_cloud_metadata, lfi_log_poison_rce, appkey_leak_deserialization_rce,
hmac_empty_key_forgery, intval_form_id_bypass, extract_variable_injection_lfi,
split_controller_upload_bypass, race_condition_double_spend, ssti_template_injection_rce,
jwt_alg_confusion_forgery, cache_poisoning_xss, subdomain_takeover, and more.
Edit chains.json to add knowledge — never hardcode in source.
Environment Variables
All other tools need no credentials.
Build
bun install # deps
bun run typecheck # tsc --noEmit
bun run build # ESM bundle → dist/index.js
bun run test # regression + benchmark suite (453 checks)
bun run compile # single static binary → dist/blitzstrike
Quality (measured, not claimed)
Blitz Strike carries a benchmark suite and a coverage matrix so quality is a number you can re-run, not a claim.
- Benchmark (
run_enterprise_benchmark) — a labelled corpus of vulnerable + safe fixtures across PHP, JavaScript, Python, and Java. Current result: detection rate 1.0, false-positive rate 0, precision 1.0. - Coverage matrix (
coverage_matrix) — 5 languages × sink classes = 84% coverage (php, javascript, python, java, rust). Uncovered pairs are legitimately absent from the language (e.g. Java has noeval, Python/Java no PHP-style file inclusion, JS no deserialization sink). - Attack-vector taxonomy (
list_attack_vectors/attack_vectors) — a master reference of 34 attack-vector categories (588 vectors) so a driving agent can map the entire attack surface, not just the obvious sinks. - Regression suite —
bun run testruns 453 checks covering finding lifecycle, evidence integrity, CVSS math, taint tracing, dedup, report integrity, and benchmark invariants. CI runs it on every push.
Methodology Notes
- Sink ≠ vuln. A dangerous function in the same file as an unauth handler does not mean the handler calls it. Use
eagle_eyeto confirm scope. - File write ≠ RCE (CF-003). A writable file must be loaded by the runtime to be execution.
- Default server config only. Default Apache
FilesMatch .+\.ph(ar|p|tml)$has a$anchor —.php.jpgdoes not execute. - Every finding is a HYPOTHESIS until
strike_verifyreflects your marker AND the chain'snegative_controlstays inert.
Disclaimer
This tool is provided for educational and authorized security research only. Do not use against systems without explicit permission from the owner.
Further Reading
- Installation — prerequisites, install, client registration.
- Usage — one-call engagement, granular path, modes, memory.
- Autonomy & doctrine — LLM-driven autonomy, resource map, guardrails.
- Manifesto — the invariants that drive the methodology.
- Contributing — how to add chains, tools, and data.
- Changelog — version history.
- Roadmap — where this is headed.
- Security — responsible disclosure + authorized use.
- Third-Party Notices — vendored data licenses.