Un framework Red Team per CI/CD per dimostrare i rischi di sicurezza delle pipeline di build.
Framework Red Team per CI/CD
Come Metasploit, ma per pipeline CI/CD.
Realizzato dagli autori di poutine SAST per pipeline di build presso BoostSecurity Labs.

Attenzione: Questo strumento è solo per test di sicurezza autorizzati.
SmokedMeat esiste perché le minacce alle pipeline CI/CD sono profondamente sottovalutate. La formazione tradizionale sulla sicurezza raramente copre gli attacchi alla supply chain, lasciando i difensori impreparati contro tecniche che gli avversari sfruttano attivamente in natura.
L'abbiamo costruito per dare ai team di sicurezza la possibilità di imparare, esercitarsi e convalidare le difese contro tecniche di attacco CI/CD avanzate attraverso esercitazioni red team realistiche.
Usalo solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta.
SmokedMeat è un framework di post-exploitation per pipeline CI/CD. Punta a un'organizzazione GitHub, lascia che trovi workflow vulnerabili, distribuisci un impianto su un runner compromesso, poi fai pivot attraverso provider cloud, estrai segreti e mappa il raggio di esplosione, il tutto da un'interfaccia utente a terminale.
Cosa fa:
Filosofia: Audace e rumorosa. Questo non è uno strumento di elusione EDR. È un framework dimostrativo che mostra quanto in profondità arriva una compromissione CI/CD prima che qualsiasi cosa attivi un avviso.
A chi è rivolto:
Per provare SmokedMeat per la prima volta, installa Docker e make. Go non è necessario.
git clone https://github.com/boostsecurityio/smokedmeat.git
cd smokedmeat
make quickstart
make quickstart è la prima esecuzione consigliata. Avvia lo stack di avvio rapido della release stabile in locale e lancia la TUI operatore (Counter) contro il teamserver C2 (Kitchen).
Prima esecuzione consigliata:
whoolipublic_repo⚠ Preferisci un PAT classico. I PAT a grana fine possono essere troppo restrittivi e potrebbero bloccare il test di target pubblici in altre org, incluso whooli.
whooli è il parco giochi di attacco CI/CD deliberatamente vulnerabile di SmokedMeat. È il primo target consigliato per il percorso pubblico.
La procedura guidata ti accompagna attraverso:
repo.whooli o la tua org/repoPer il flusso completo della sfida, consulta la guida whooli o vai direttamente all'org GitHub whooli.
Quando hai finito:
make quickstart-down # Ferma i container
make quickstart-purge # Ferma ed elimina tutti i dati
Se invece vuoi lavorare dal sorgente, vedi Sviluppo.
Se stai contribuendo o iterando sull'albero dei sorgenti in locale, installa Go 1.26+ e usa l'avvio rapido di sviluppo:
make dev-quickstart
make dev-quickstart costruisce l'immagine locale smokedmeat-cloud-shell, avvia cloudflared, nats e il teamserver C2 (Kitchen), poi lancia la TUI operatore dal sorgente.
Se vuoi prima l'infrastruttura e la TUI operatore dopo:
make dev-quickstart-up
make dev-quickstart-counter
Quando hai finito:
make dev-quickstart-down # Ferma i container
make dev-quickstart-purge # Ferma ed elimina tutti i dati
Maggiori dettagli sulle modalità di deployment e sullo sviluppo locale sono in docs/deployment.md.
Counter controlla la presenza di nuove release di SmokedMeat all'avvio. Può essere disabilitato impostando la variabile d'ambiente SMOKEDMEAT_DISABLE_VERSION_CHECK.
| Termine standard | Nome SmokedMeat | Descrizione |
|---|---|---|
| TUI operatore | Counter | Interfaccia a terminale per analisi, distribuzione del payload e flusso di post-sfruttamento. |
| Teamserver C2 | Kitchen | Server API e WebSocket per sessioni operatore, stager, callback e stato del grafo. |
| Impianto | Brisket | Agente consegnato ai runner CI compromessi per beaconing, esecuzione comandi e pivot. |
| Vista grafo nel browser | Browser View | Grafo di attacco live servito dal teamserver C2 su /graph. |
| Modalità | Quando usarla | Punto di ingresso |
|---|---|---|
| Avvio rapido | Esecuzione più veloce sulla release fissata | make quickstart |
| Avvio rapido sviluppo | Quando lavori sull'albero dei sorgenti in locale | make dev-quickstart |
| Teamserver ospitato | Per un engagement reale con un dominio stabile | docs/deployment.md |
Il teamserver ospitato esegue il teamserver C2 su un host dedicato e la TUI operatore nativamente su ciascuna workstation operatore.
Ad alto livello, la TUI operatore (Counter) comunica con il teamserver C2 (Kitchen), che gestisce gli impianti (Brisket) in esecuzione sui runner CI compromessi e serve il grafo di attacco live.