Server MCP che incapsula una metodologia di penetration testing a tre livelli: ricognizione della superficie di attacco, analisi statica source-to-sink e validazione dal vivo delle vulnerabilità con catene di escalation.
Blitz Strike è una metodologia strutturata di penetration testing — ricognizione,
analisi del codice sorgente e validazione — distribuita come server MCP universale.
Enumera la superficie d'attacco (BLITZ), traccia la raggiungibilità source-to-sink
(EAGLE-EYE) e verifica ogni finding in tempo reale prima che venga riportato (STRIKE).
Un server, ogni agente: dall'enforcement dello scope ai finding pronti per la
sottomissione in una singola chiamata run_engagement, con il manuale dello
strumento di exploit pertinente allegato a ogni risultato.
Un hit di scansione è un'ipotesi. Un test live è il verdetto.
Blitz Strike esiste per eliminare le due modalità di fallimento più comuni nella valutazione di sicurezza automatizzata: i falsi positivi derivanti dal pattern matching superficiale, e i finding non verificati riportati senza conferma live.
Blitz Strike è un server Model Context Protocol (MCP) (TypeScript / Bun) che
impacchetta una metodologia di security-audit a 3 livelli come strumenti
invocabili — ed esegue l'intero engagement lato server, così una singola
chiamata run_engagement funziona da Claude Code, Cursor, Hermes, OpenCode,
Claude Desktop, Gemini o qualsiasi client MCP.
Blitz Strike mappa una metodologia strutturata di penetration testing — ricognizione, analisi del codice sorgente e validazione — in tre livelli di strumenti eseguiti lato server.
| Livello | Nome | Fase | Cosa fa |
|---|---|---|---|
| 1 | BLITZ | Ricognizione e mappatura della superficie d'attacco | Enumera la superficie d'attacco esposta su larga scala: entry point non autenticati, sink pericolosi e confini di autenticazione. |
| 2 | EAGLE-EYE | Analisi statica e tracciamento del flusso dati | Traccia la raggiungibilità source-to-sink e arricchisce i finding rispetto al grafo delle catene di escalation. Conferma che un sink sia raggiungibile, non autenticato e sfruttabile — non semplicemente presente. |
| 3 | STRIKE | Validazione e sfruttamento | Esegue la verifica live (riflessione del marker + controllo negativo), l'enforcement dello scope e l'orchestrazione, così un finding viene confermato prima di essere mai riportato. |
Ricognizione → analisi → validazione. Nulla viene riportato finché STRIKE non lo conferma.
bun build --compile — distribuisci un eseguibile per piattaforma.bunx blitzstrike / npx blitzstrike.@modelcontextprotocol/sdk).# Zero-install — funziona da qualsiasi client MCP, nessun clone, nessuna build
npx -y blitzstrike doctor # verifica l'ambiente
npx -y blitzstrike install # auto-registra con ogni agent CLI rilevato
npx blitzstrike install rileva ogni agent CLI installato (Claude Code,
Cursor, OpenCode, Codex, Hermes, Gemini, Windsurf, Copilot, Cline) e scrive
la corretta configurazione MCP in ciascuno nel suo formato nativo. Riavvia il
tuo agente e chiama run_engagement.
Dal sorgente:
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 o .mcp.json.cursor/mcp.json.mcp.jsonmcp_servers: in config.yamlEsegui blitzstrike install per stampare lo snippet esatto.
blitzstrike serve --mcp # avvia il server MCP su stdio (predefinito)
blitzstrike doctor # health check: runtime + catalogo di 130 strumenti + credenziali
blitzstrike install # scrive la configurazione MCP nei client rilevati (Claude/Cursor/OpenCode)
blitzstrike install --dry-run # anteprima della configurazione senza scrivere
blitzstrike version # stampa la versione
| Controllo | Stato che vedrai |
|---|---|
| Runtime (bun/node) | OK / FAIL + fix |
| Catalogo strumenti di sicurezza | 63/130 installati, 67 on-demand |
| Credenziali FOFA | OK / WARN + fix |
| Livelli dati (chains + tools-catalog) | presenti / mancanti |
Ogni problema riporta una riga fix: — niente congetture.
blitzstrike install rileva quali file di configurazione dei client MCP esistono
già (Claude ~/.claude.json, Cursor ~/.cursor/mcp.json, progetto .mcp.json) e
unisce la voce del server Blitz Strike — non sovrascrive mai i tuoi server
MCP esistenti. Se non viene rilevato alcun client, stampa lo snippet per il
incolla manuale.
| Strumento | Scopo |
|---|---|
blitz_scan(path, max_files) | Scansiona un albero di codice sorgente: enumera entry point non autenticati + sink pericolosi con riferimenti file:line. |
blitz_file(path) | Stessa scansione, singolo file. |
| Strumento | Scopo |
|---|---|
eagle_eye(path, symbol) | Restituisce il corpo completo di una funzione, i sink nello scope e i gate di autenticazione nello scope. |
eagle_grep(path, sink, max_hits) | Grep di precisione sui sink — segnala un hit SOLO all'interno del corpo di una funzione, contrassegnato come guarded/un-guarded. |
enrich_scan(path, max_files) | Scansione + corrispondenza dei sink rilevati con le catene di escalation (chains.json). |
| Strumento | Scopo |
|---|---|
strike_verify(url, method, data, headers, marker, timeout) | Verifica HTTP live con marker + controllo negativo. |
scope_check(target, scope, mode) | Applica lo scope prima del test attivo (no-DoS, exclusion-aware, mode-gated). |
run_engagement(target, scope, mode, max_files) | Audit completo a 3 livelli in UNA chiamata — scope gate → triage → arricchimento delle catene → finding. |
list_chains() | Elenca tutte le catene di escalation nel livello dati. |
fofa_search(query, size, fields) | Ricerca nell'indice di asset FOFA (richiede FOFA_EMAIL + FOFA_KEY). |
nvd_lookup(cve_id) | Ricerca CVE da NVD 2.0 (nessuna chiave richiesta). |
| Strumento | Scopo |
|---|---|
tool_lookup(name) | Cerca il comando + flag + install + check di uno strumento. |
list_tools() | Elenca tutti gli strumenti del catalogo, raggruppati per categoria. |
skill_lookup(topic) | Cerca nella base di conoscenza skills/ playbook per argomento. |
list_skills() | Elenca tutti i playbook delle skill. |
read_skill(name) | Legge il contenuto completo di un playbook. |
ensure_tool(name) | Verifica se uno strumento è installato; in caso contrario, lo installa automaticamente. |
| Strumento | Scopo |
|---|---|
read_tool_manual(name) | Legge un manuale approfondito completo per uno strumento (270+ manuali). |
list_manuals() | Elenca tutti i manuali + playbook. |
read_playbook(name) | Legge un playbook di engagement (web-app, api-security, AD, ecc.). |
list_playbooks() | Elenca tutti i 17 playbook di engagement. |
| Strumento | Scopo |
|---|---|
detect_waf(headers, body) | Rileva un WAF dagli header/body della risposta (139 firme). |
tech_correlation(tech) | Correla la tecnologia a vulnerabilità note + CVE (89 tecnologie). |
cve_correlation(cve) | Correla la CVE a prodotto + target + severità (53 CVE). |
port_correlation(port) | Correla la porta a servizio + vettori d'attacco (103 porte). |
fuzzer_payloads(category) | Payload di fuzzing + pattern vulnerabili + regole di catena. |
intel_summary() | Conteggi di ogni dataset di intelligence. |
payload_lookup(topic) | Trova payload di exploit (66 categorie da PayloadsAllTheThings). |
read_payload(category) | Legge una raccolta completa di payload. |
template_lookup(topic) | Trova template di rilevamento nuclei (11.9k firme YAML). |
Il livello di intelligence (firme WAF, correlazioni tech/CVE/porta, dati del fuzzer, ontologia delle vulnerabilità, payload di exploit, template di rilevamento nuclei) proviene da airecon (MIT), PayloadsAllTheThings (MIT) e nuclei-templates (MIT) — caricati a runtime e integrati nella superficie degli strumenti sopra.
270 manuali di strumenti + 17 playbook da kali-pentest (Apache-2.0). Questi NON sono decorazione — sono integrati nel flusso:
tool_lookup(name) allega automaticamente il manuale completo dello strumento.run_engagement() allega il manuale pertinente per il campo tools di ogni catena corrispondente.| Strumento | Scopo |
|---|---|
remember(topic, content, type, tags, verified) | Salva un insight riutilizzabile (deduplicato). verified=true solo se il marker è riflesso + il controllo negativo è inerte. |
memory_lookup(query) | Cerca in memoria per argomento/tag/contenuto, con punteggio. |
memory_list() | Elenca tutte le voci di memoria, raggruppate per tipo. |
La memoria è JSONL append-only in ~/.blitzstrike/memory.jsonl (sovrascrivibile con
BLITZSTRIKE_HOME). run_engagement cattura automaticamente le catene di escalation
corrispondenti come voci pattern (deduplicate per id di catena), così la base di
conoscenza cresce a ogni engagement — nessuno spam duplicato, e solo le voci
verified=true sono autorevoli.
130 strumenti di sicurezza scritti autonomamente (non copiati da alcun progetto), ciascuno con comando base, flag chiave, comando di installazione per piattaforma, probe check_installed, fase, tag, alternative, requires_root, pipes e homepage.
| Categoria | Conteggio | Esempi |
|---|---|---|
| recon | 23 | subfinder, amass, httpx, naabu, katana, trufflehog |
| exploitation | 13 | sqlmap, commix, dalfox, hydra, hashcat, phpggc |
| blue-team (difensivo) | 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 playbook di skill (markdown) — gemme nascoste universali e sicure dal punto di vista della licenza provenienti da internet (MIT). I nostri playbook personali di attack-tree sono stati rimossi (erano metodologia privata, non script di exploit universali).
ap-*. Playbook offensivi rari:
cross-forest-trust-abuse, gitea-ci-injection, kerberos-trust-abuse,
multi-domain-ad-attacks, client-side-crypto-forgery.hp-*. Playbook di audit end-to-end:
full-security-audit, smart-contract-audit, api-security-test, sast-code-review,
container-image-scan, iac-cloud-posture.Vedi ATTRIBUTION.md per le note complete su licenza/copyright.
57 catene di escalation data-driven, ciascuna con passi ordinati che includono:
tool_hint — quale strumento Blitz Strike usaresuccess_criteria — osservabile binario per il passoinvariant_check — l'assunzione che DEVE valere per lo sfruttamentonegative_control — come confutare il findingEsempi: 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 e altri.
Modifica chains.json per aggiungere conoscenza — non codificare mai hardcoded nel sorgente.
| Variabile | Richiesta | Scopo |
|---|---|---|
FOFA_EMAIL | Per fofa_search | Email dell'account FOFA |
FOFA_KEY | Per fofa_search | Chiave API FOFA |
Tutti gli altri strumenti non richiedono credenziali.
bun install # dipendenze
bun run typecheck # tsc --noEmit
bun run build # bundle ESM → dist/index.js
bun run compile # binario statico singolo → dist/blitzstrike
eagle_eye per confermare lo scope.FilesMatch .+\.ph(ar|p|tml)$ ha un'ancora $ — .php.jpg non viene eseguito.strike_verify riflette il tuo marker E il negative_control della catena rimane inerte.Questo strumento è fornito solo per ricerca sulla sicurezza educativa e autorizzata. Non usarlo contro sistemi senza esplicito permesso del proprietario.