MCP 서버는 공격 표면 정찰, 소스-투-싱크 정적 분석, 에스컬레이션 체인을 통한 실시간 발견 검증의 3계층 침투 테스트 방법론을 패키징합니다.
Blitz Strike는 정찰, 소스 분석, 검증으로 구성된 구조화된 침투 테스트 방법론으로,
범용 MCP 서버로 제공됩니다. 공격 표면을 열거하고(BLITZ), 소스-투-싱크
도달 가능성을 추적하며(EAGLE-EYE), 보고되기 전에 각 발견 사항을 실시간으로
검증합니다(STRIKE). 하나의 서버, 모든 에이전트: 단일 run_engagement 호출로
범위 적용부터 제출 가능한 발견 사항까지, 모든 결과에 관련 익스플로잇 도구
매뉴얼이 첨부됩니다.
스캔 결과는 가설입니다. 실시간 테스트가 판결입니다.
Blitz Strike는 자동화된 보안 평가에서 가장 흔한 두 가지 실패 모드를 제거하기 위해 존재합니다: 표면적 패턴 매칭으로 인한 오탐, 그리고 실시간 확인 없이 보고되는 미검증 발견 사항.
Blitz Strike는 3계층 보안 감사 방법론을 호출 가능한 도구로 패키징한
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.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) | 소스 트리 스캔: 인증되지 않은 진입점 + 위험한 싱크를 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) | 단일 호출로 전체 3계층 감사 — 범위 게이트 → 분류 → 체인 강화 → 발견 사항. |
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) | 참여 플레이북 읽기 (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) | 익스플로잇 페이로드 찾기 (PayloadsAllTheThings의 66개 카테고리). |
read_payload(category) | 전체 페이로드 컬렉션 읽기. |
template_lookup(topic) | nuclei 탐지 템플릿 찾기 (11.9k YAML 시그니처). |
인텔리전스 계층(WAF 시그니처, 기술/CVE/포트 상관관계, 퍼저 데이터, 취약점 온톨로지, 익스플로잇 페이로드, nuclei 탐지 템플릿)은 airecon (MIT), PayloadsAllTheThings (MIT), nuclei-templates (MIT)에서 가져왔으며, 런타임에 로드되어 위의 도구 표면에 연결됩니다.
kali-pentest (Apache-2.0)의 270개 도구 매뉴얼 + 17개 플레이북. 이들은 장식이 아니라 흐름에 연결되어 있습니다:
tool_lookup(name)은 도구의 전체 매뉴얼을 자동 첨부합니다.run_engagement()는 매칭된 체인의 tools 필드에 따라 관련 매뉴얼을 첨부합니다.| 도구 | 목적 |
|---|---|
remember(topic, content, type, tags, verified) | 재사용 가능한 통찰 저장 (중복 제거). verified=true는 마커가 반영되고 네거티브 컨트롤이 비활성일 때만. |
memory_lookup(query) | 주제/태그/내용으로 메모리 검색, 점수화. |
memory_list() | 유형별로 그룹화된 모든 메모리 항목 나열. |
메모리는 ~/.blitzstrike/memory.jsonl에 추가 전용 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용 | 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가 마커를 반영하고 체인의 negative_control이 비활성으로 유지될 때까지.이 도구는 교육 및 승인된 보안 연구 목적으로만 제공됩니다. 소유자의 명시적 허가 없이 시스템에 사용하지 마세요.