MCP-сервер, упаковывающий трёхуровневую методологию тестирования на проникновение: разведка поверхности атаки, статический анализ от источника к стоку и валидация находок в реальном времени с цепочками эскалации.
Blitz Strike — это структурированная методология тестирования на проникновение — разведка,
анализ исходного кода и валидация — реализованная в виде универсального MCP-сервера. Она
перечисляет поверхность атаки (BLITZ), отслеживает достижимость от источника до стока
(EAGLE-EYE) и проверяет каждую находку вживую до того, как она будет включена в отчёт (STRIKE).
Один сервер, любой агент: от контроля области до готовых к отправке находок в одном вызове
run_engagement, с прикреплённым руководством по соответствующему эксплойт-инструменту к
каждому результату.
Попадание при сканировании — это гипотеза. Живой тест — это вердикт.
Blitz Strike существует, чтобы устранить два наиболее распространённых режима отказа в автоматизированной оценке безопасности: ложные срабатывания от поверхностного сопоставления шаблонов и непроверенные находки, о которых сообщается без живого подтверждения.
Blitz Strike — это сервер Model Context Protocol (MCP) (TypeScript / Bun), который
упаковывает трёхуровневую методологию аудита безопасности в виде вызываемых инструментов — и
выполняет всё взаимодействие на стороне сервера, так что один вызов run_engagement
работает из Claude Code, Cursor, Hermes, OpenCode, Claude Desktop, Gemini или любого MCP-клиента.
Blitz Strike отображает структурированную методологию тестирования на проникновение — разведку, анализ исходного кода и валидацию — в три уровня инструментов, выполняемых на стороне сервера.
| Уровень | Название | Фаза | Что делает |
|---|---|---|---|
| 1 | BLITZ | Разведка и картирование поверхности атаки | Перечисляет открытую поверхность атаки в масштабе: неаутентифицированные точки входа, опасные стоки и границы аутентификации. |
| 2 | EAGLE-EYE | Статический анализ и трассировка потоков данных | Отслеживает достижимость от источника до стока и обогащает находки с помощью графа цепочек эскалации. Подтверждает, что сток достижим, неаутентифицирован и эксплуатируем — а не просто присутствует. |
| 3 | STRIKE | Валидация и эксплуатация | Выполняет живую проверку (отражение маркера + негативный контроль), контроль области и оркестрацию, чтобы находка была подтверждена до того, как о ней сообщат. |
Разведка → анализ → валидация. Ничего не попадает в отчёт, пока 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 обнаруживает каждый установленный CLI агента (Claude Code,
Cursor, OpenCode, Codex, Hermes, Gemini, Windsurf, Copilot, Cline) и записывает
правильную конфигурацию MCP в каждый из них в его нативном формате. Перезапустите агента и
вызовите 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.jsonmcp_servers: в config.yamlЗапустите 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
| Проверка | Статус, который вы увидите |
|---|---|
| Runtime (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) | Сканировать дерево исходников: перечислить неаутентифицированные точки входа + опасные стоки со ссылками file:line. |
blitz_file(path) | То же сканирование, один файл. |
| Инструмент | Назначение |
|---|---|
eagle_eye(path, symbol) | Вернуть полное тело функции, стоки в области видимости и шлюзы аутентификации в области видимости. |
eagle_grep(path, sink, max_hits) | Точный grep по стокам — сообщать о попадании ТОЛЬКО внутри тела функции, с пометкой guarded/un-guarded. |
enrich_scan(path, max_files) | Сканировать + сопоставить обнаруженные стоки с цепочками эскалации (chains.json). |
| Инструмент | Назначение |
|---|---|
strike_verify(url, method, data, headers, marker, timeout) | Живая 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) | Поиск CVE из NVD 2.0 (ключ не требуется). |
| Инструмент | Назначение |
|---|---|
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) | Прочитать плейбук взаимодействия (web-app, api-security, AD и т. д.). |
list_playbooks() | Перечислить все 17 плейбуков взаимодействия. |
| Инструмент | Назначение |
|---|---|
detect_waf(headers, body) | Обнаружить WAF по заголовкам/телу ответа (139 сигнатур). |
tech_correlation(tech) | Сопоставить технологию с известными уязвимостями + CVE (89 технологий). |
cve_correlation(cve) | Сопоставить CVE с продуктом + целями + серьёзностью (53 CVE). |
port_correlation(port) | Сопоставить порт с сервисом + векторами атаки (103 порта). |
fuzzer_payloads(category) | Фаззинг-полезные нагрузки + уязвимые шаблоны + правила цепочек. |
intel_summary() | Количество по каждому набору данных разведки. |
payload_lookup(topic) | Найти эксплойт-полезные нагрузки (66 категорий из PayloadsAllTheThings). |
read_payload(category) | Прочитать полную коллекцию полезных нагрузок. |
template_lookup(topic) | Найти шаблоны обнаружения nuclei (11.9k YAML-сигнатур). |
Слой разведки (сигнатуры WAF, корреляции tech/CVE/port, данные фаззера, онтология уязвимостей, эксплойт-полезные нагрузки, шаблоны обнаружения 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) | Сохранить переиспользуемое наблюдение (с дедупликацией). verified=true только если маркер отразился + негативный контроль инертен. |
memory_lookup(query) | Искать в памяти по теме/тегу/содержимому, с оценкой. |
memory_list() | Перечислить все записи памяти, сгруппированные по типу. |
Память — это append-only JSONL в ~/.blitzstrike/memory.jsonl (переопределяется через
BLITZSTRIKE_HOME). run_engagement автоматически захватывает сопоставленные цепочки
эскалации как записи pattern (с дедупликацией по id цепочки), так что база знаний растёт с
каждым взаимодействием — без дублирующего спама, и только записи 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 | Email аккаунта FOFA |
FOFA_KEY | Для fofa_search | API-ключ FOFA |
Все остальные инструменты не требуют учётных данных.
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 не отразит ваш маркер И negative_control цепочки не останется инертным.Этот инструмент предоставляется только для образовательных целей и авторизованных исследований безопасности. Не используйте его против систем без явного разрешения владельца.