MCP 服务器,封装三层渗透测试方法论:攻击面侦察、源到汇静态分析,以及带升级链的实时发现验证。
run_engagement扫描命中只是一个假设。实时测试才是裁决。
Blitz Strike 的存在是为了消除自动化安全评估中最常见的两种失败模式:表层模式匹配导致的误报,以及未经实时确认就报告未验证的发现。
Blitz Strike 是一个 Model Context Protocol (MCP) 服务器(TypeScript / Bun),将三层安全审计方法论封装为可调用的工具——并且整个 engagement 都在服务器端运行,因此只需一次 run_engagement 调用,即可从 Claude Code、Cursor、Hermes、OpenCode、Claude Desktop、Gemini 或任何 MCP 客户端使用。
Blitz Strike 将结构化的渗透测试方法论——侦察、源码分析与验证——映射为三个在服务器端执行的工具层级。
| 层级 | 名称 | 阶段 | 功能 |
|---|---|---|---|
| 1 | BLITZ | 侦察与攻击面测绘 | 大规模枚举暴露的攻击面:未认证入口点、危险 sink 以及认证边界。 |
| 2 | EAGLE-EYE | 静态分析与数据流追踪 | 追踪从 source 到 sink 的可达性,并基于提权链图谱丰富发现。确认某个 sink 是可达、未认证且可利用的——而不仅仅是存在。 |
| 3 | STRIKE | 验证与利用 | 执行实时验证(marker 反射 + 阴性对照)、范围约束与编排,确保发现被确认后才被报告。 |
侦察 → 分析 → 验证。在 STRIKE 确认之前,不会报告任何内容。
bun build --compile 生成单一静态二进制文件——每个平台只需发布一个可执行文件。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 会检测所有已安装的 agent CLI(Claude Code、Cursor、OpenCode、Codex、Hermes、Gemini、Windsurf、Copilot、Cline),并以各自的原生格式将正确的 MCP 配置写入每一个。重启你的 agent 并调用 run_engagement。
从源码运行:
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 或 .mcp.json.cursor/mcp.json.mcp.jsonconfig.yaml 中的 mcp_servers:运行 blitzstrike install 可打印确切的配置片段。
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
| 检查项 | 你将看到的状态 |
|---|---|
| 运行时(bun/node) | OK / FAIL + 修复建议 |
| 安全工具目录 | 63/130 已安装,67 按需安装 |
| FOFA 凭据 | OK / WARN + 修复建议 |
| 数据层(chains + tools-catalog) | 存在 / 缺失 |
每个问题都附带一行 fix:——无需猜测。
blitzstrike install 会检测哪些 MCP 客户端配置文件已存在(Claude ~/.claude.json、Cursor ~/.cursor/mcp.json、项目 .mcp.json),并合并 Blitz Strike 服务器条目——它绝不会覆盖你现有的 MCP 服务器。若未检测到任何客户端,它会打印配置片段供手动粘贴。
| 工具 | 用途 |
|---|---|
blitz_scan(path, max_files) | 扫描源码树:枚举未认证入口点 + 危险 sink,并附带 file:line 引用。 |
blitz_file(path) | 相同扫描,针对单个文件。 |
| 工具 | 用途 |
|---|---|
eagle_eye(path, symbol) | 返回函数的完整函数体、作用域内的 sink 以及作用域内的认证门禁。 |
eagle_grep(path, sink, max_hits) | 精确 sink grep——仅在函数体内报告命中,并标记为有防护/无防护。 |
enrich_scan(path, max_files) | 扫描 + 将检测到的 sink 匹配到提权链(chains.json)。 |
| 工具 | 用途 |
|---|---|
strike_verify(url, method, data, headers, marker, timeout) | 使用 marker + 阴性对照进行实时 HTTP 验证。 |
scope_check(target, scope, mode) | 在主动测试前执行范围约束(no-DoS、感知排除项、模式门控)。 |
run_engagement(target, scope, mode, max_files) | 一次调用完成完整三层审计——范围门禁 → 分诊 → 链丰富 → 发现。 |
list_chains() | 列出数据层中的所有提权链。 |
fofa_search(query, size, fields) | FOFA 资产索引搜索(需要 FOFA_EMAIL + FOFA_KEY)。 |
nvd_lookup(cve_id) | 从 NVD 2.0 查询 CVE(无需密钥)。 |
| 工具 | 用途 |
|---|---|
tool_lookup(name) | 查询工具的命令 + 参数 + 安装 + 检查方式。 |
list_tools() | 列出所有目录工具,按类别分组。 |
skill_lookup(topic) | 按主题搜索 skills/ 战术手册知识库。 |
list_skills() | 列出所有技能战术手册。 |
read_skill(name) | 阅读战术手册的完整内容。 |
ensure_tool(name) | 检查工具是否已安装;若未安装,则自动安装。 |
| 工具 | 用途 |
|---|---|
read_tool_manual(name) | 阅读某个工具的完整深度手册(270+ 份手册)。 |
list_manuals() | 列出所有手册 + 战术手册。 |
read_playbook(name) | 阅读 engagement 战术手册(web-app、api-security、AD 等)。 |
list_playbooks() | 列出全部 17 份 engagement 战术手册。 |
| 工具 | 用途 |
|---|---|
detect_waf(headers, body) | 从响应头/响应体检测 WAF(139 个签名)。 |
tech_correlation(tech) | 将技术栈关联到已知漏洞 + CVE(89 种技术)。 |
cve_correlation(cve) | 将 CVE 关联到产品 + 目标 + 严重性(53 个 CVE)。 |
port_correlation(port) | 将端口关联到服务 + 攻击向量(103 个端口)。 |
fuzzer_payloads(category) | Fuzzing payload + 易受攻击模式 + 链规则。 |
intel_summary() | 每个情报数据集的计数。 |
payload_lookup(topic) | 查找漏洞利用 payload(来自 PayloadsAllTheThings 的 66 个类别)。 |
read_payload(category) | 阅读完整的 payload 集合。 |
template_lookup(topic) | 查找 nuclei 检测模板(11.9k YAML 签名)。 |
情报层(WAF 签名、技术/CVE/端口关联、fuzzer 数据、漏洞本体、漏洞利用 payload、nuclei 检测模板)来源于 airecon (MIT)、PayloadsAllTheThings (MIT) 和 nuclei-templates (MIT)——在运行时加载并接入上述工具界面。
270 份工具手册 + 17 份战术手册来自 kali-pentest (Apache-2.0)。这些并非装饰——它们已接入流程:
tool_lookup(name) 会自动附加该工具的完整手册。run_engagement() 会根据匹配到的链的 tools 字段附加相关手册。| 工具 | 用途 |
|---|---|
remember(topic, content, type, tags, verified) | 保存可复用的洞察(去重)。仅当 marker 反射且阴性对照无反应时,verified=true。 |
memory_lookup(query) | 按主题/标签/内容搜索记忆,带评分。 |
memory_list() | 列出所有记忆条目,按类型分组。 |
记忆是位于 ~/.blitzstrike/memory.jsonl 的仅追加 JSONL(可通过 BLITZSTRIKE_HOME 覆盖)。run_engagement 会自动将匹配到的提权链捕获为 pattern 条目(按链 id 去重),因此知识库会随每次 engagement 增长——没有重复垃圾,且只有 verified=true 的条目具有权威性。
130 个自行编写的安全工具(并非从任何项目复制),每个都包含命令基础、关键参数、各平台安装命令、check_installed 探测、阶段、标签、替代工具、requires_root、pipes 和主页。
| 类别 | 数量 | 示例 |
|---|---|---|
| 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 份技能战术手册(markdown)——来自互联网的通用、许可安全的隐藏瑰宝(MIT)。我们的个人攻击树战术手册已被移除(它们是私有方法论,而非通用漏洞利用脚本)。
ap-* 前缀。罕见的攻击性战术手册:cross-forest-trust-abuse、gitea-ci-injection、kerberos-trust-abuse、multi-domain-ad-attacks、client-side-crypto-forgery。hp-* 前缀。端到端审计战术手册:full-security-audit、smart-contract-audit、api-security-test、sast-code-review、container-image-scan、iac-cloud-posture。完整的许可/版权声明见 ATTRIBUTION.md。
57 条数据驱动的提权链,每条都包含有序步骤,携带:
tool_hint — 应使用哪个 Blitz Strike 工具success_criteria — 该步骤的二元可观测指标invariant_check — 利用时必须成立的前提假设negative_control — 如何反驳该发现示例: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 等。
编辑 chains.json 来添加知识——切勿在源码中硬编码。
| 变量 | 是否必需 | 用途 |
|---|---|---|
FOFA_EMAIL | 用于 fofa_search | FOFA 账户邮箱 |
FOFA_KEY | 用于 fofa_search | FOFA API 密钥 |
所有其他工具无需凭据。
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 确认作用域。FilesMatch .+\.ph(ar|p|tml)$ 带有 $ 锚点——.php.jpg 不会被执行。strike_verify 反射你的 marker 且该链的 negative_control 保持无反应。本工具仅供教育与授权安全研究使用。 未经所有者明确许可,请勿对系统使用。