MCP server packaging a three-tier penetration-testing methodology: attack-surface reconnaissance, source-to-sink static analysis, and live finding validation with escalation chains.
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.
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.
Blitz Strike maps a structured penetration-testing methodology — reconnaissance, source analysis, and validation — into three tool tiers executed server-side.
| Tier | Name | Phase | What it does |
|---|---|---|---|
| 1 | BLITZ | Reconnaissance & attack-surface mapping | Enumerates the exposed attack surface at scale: unauthenticated entry points, dangerous sinks, and authentication boundaries. |
| 2 | EAGLE-EYE | Static analysis & data-flow tracing | Traces source-to-sink reachability and enriches findings against the escalation-chain graph. Confirms a sink is reachable, unauthenticated, and exploitable — not merely present. |
| 3 | STRIKE | Validation & exploitation | Performs live verification (marker reflection + negative control), scope enforcement, and orchestration so a finding is confirmed before it is ever reported. |
Reconnaissance → analysis → validation. Nothing is reported until STRIKE confirms it.
bun build --compile — ship one executable per platform.bunx blitzstrike / npx blitzstrike.@modelcontextprotocol/sdk).# 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
{
"mcpServers": {
"blitzstrike": {
"command": "blitzstrike",
"args": ["serve", "--mcp"]
}
}
}
claude_desktop_config.json or .mcp.json.cursor/mcp.json.mcp.jsonmcp_servers: in config.yamlRun blitzstrike install to print the exact snippet.
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 version # print version
| Check | Status you'll see |
|---|---|
| Runtime (bun/node) | OK / FAIL + fix |
| Security tools catalog | 63/130 installed, 67 on-demand |
| FOFA credentials | OK / WARN + fix |
| Data layers (chains + tools-catalog) | present / missing |
Each issue carries a fix: line — no guessing.
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.
| Tool | Purpose |
|---|---|
blitz_scan(path, max_files) | Scan a source tree: enumerate unauth entry points + dangerous sinks with file:line refs. |
blitz_file(path) | Same scan, single file. |
| Tool | Purpose |
|---|---|
eagle_eye(path, symbol) | Return a function's full body, sinks in scope, and auth gates in scope. |
eagle_grep(path, sink, max_hits) | Precision sink grep — report a hit ONLY inside a function body, flagged guarded/un-guarded. |
enrich_scan(path, max_files) | Scan + match detected sinks to escalation chains (chains.json). |
| Tool | Purpose |
|---|---|
strike_verify(url, method, data, headers, marker, timeout) | Live HTTP verification with marker + negative control. |
scope_check(target, scope, mode) | Enforce scope before active testing (no-DoS, exclusion-aware, mode-gated). |
run_engagement(target, scope, mode, max_files) | Full 3-tier audit in ONE call — scope gate → triage → chain enrichment → findings. |
list_chains() | List all escalation chains in the data layer. |
fofa_search(query, size, fields) | FOFA asset index search (needs FOFA_EMAIL + FOFA_KEY). |
nvd_lookup(cve_id) | CVE lookup from NVD 2.0 (no key required). |
| Tool | Purpose |
|---|---|
tool_lookup(name) | Look up a tool's command + flags + install + check. |
list_tools() | List all catalog tools, grouped by category. |
skill_lookup(topic) | Search the skills/ playbook knowledge base by topic. |
list_skills() | List all skill playbooks. |
read_skill(name) | Read the full content of a playbook. |
ensure_tool(name) | Check if a tool is installed; if not, auto-install it. |
| Tool | Purpose |
|---|---|
read_tool_manual(name) | Read a full deep manual for a tool (270+ manuals). |
list_manuals() | List all manuals + playbooks. |
read_playbook(name) | Read an engagement playbook (web-app, api-security, AD, etc.). |
list_playbooks() | List all 17 engagement playbooks. |
| Tool | Purpose |
|---|---|
detect_waf(headers, body) | Detect a WAF from response headers/body (139 signatures). |
tech_correlation(tech) | Correlate tech to known vulns + CVEs (89 technologies). |
cve_correlation(cve) | Correlate CVE to product + targets + severity (53 CVEs). |
port_correlation(port) | Correlate port to service + attack vectors (103 ports). |
fuzzer_payloads(category) | Fuzzing payloads + vulnerable patterns + chain rules. |
intel_summary() | Counts of every intelligence dataset. |
payload_lookup(topic) | Find exploit payloads (66 categories from PayloadsAllTheThings). |
read_payload(category) | Read a full payload collection. |
template_lookup(topic) | Find nuclei detection templates (11.9k YAML signatures). |
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.
270 tool manuals + 17 playbooks from kali-pentest (Apache-2.0). 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's tools field.| Tool | Purpose |
|---|---|
remember(topic, content, type, tags, verified) | Save a reusable insight (deduped). verified=true only if marker reflected + negative control inert. |
memory_lookup(query) | Search memory by topic/tag/content, scored. |
memory_list() | List all memory entries, grouped by type. |
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.
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.
| Category | Count | Examples |
|---|---|---|
| recon | 23 | subfinder, amass, httpx, naabu, katana, trufflehog |
| exploitation | 13 | sqlmap, commix, dalfox, hydra, hashcat, phpggc |
| blue-team (defensive) | 13 | suricata, zeek, osquery, wazuh, sigma, yara, trivy |
| reverse-engineering | 12 | ghidra, radare2, gdb, pwndbg, angr, binwalk |
| enumeration | 11 | nuclei, ffuf, gobuster, arjun, wafw00f |
| forensics | 10 | volatility3, autopsy, tshark, foremost, steghide |
| active-directory | 8 | netexec, impacket, bloodhound, certipy, kerbrute |
| mobile | 7 | frida, objection, mobsf, apktool, jadx |
| post-exploitation | 6 | linpeas, pspy, chisel, ligolo-ng, pwncat |
| red-team | 6 | sliver, havoc, metasploit, evilginx3, gophish |
| utility | 6 | curl, jq, anew, notify |
| web | 4 | wpscan, joomscan, droopescan, cmseek |
| wireless | 4 | aircrack-ng, wifite, bettercap |
| cloud | 4 | pacu, prowler, scoutsuite, cloudfox |
| crypto | 3 | hashid, ciphey, rsactftool |
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).
ap-* prefix. Rare offensive playbooks:
cross-forest-trust-abuse, gitea-ci-injection, kerberos-trust-abuse,
multi-domain-ad-attacks, client-side-crypto-forgery.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.
57 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 findingExamples: 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.
| Variable | Required | Purpose |
|---|---|---|
FOFA_EMAIL | For fofa_search | FOFA account email |
FOFA_KEY | For fofa_search | FOFA API key |
All other tools need no credentials.
bun install # deps
bun run typecheck # tsc --noEmit
bun run build # ESM bundle → dist/index.js
bun run compile # single static binary → dist/blitzstrike
eagle_eye to confirm scope.FilesMatch .+\.ph(ar|p|tml)$ has a $ anchor — .php.jpg does not execute.strike_verify reflects your marker AND the chain's negative_control stays inert.This tool is provided for educational and authorized security research only. Do not use against systems without explicit permission from the owner.