Um Framework Red Team de CI/CD para demonstrar riscos de segurança em pipelines de build.
Framework de Red Team para CI/CD
Como o Metasploit, mas para pipelines CI/CD.
Feito pelos criadores do poutine, scanner SAST de pipeline de build, no BoostSecurity Labs.

Aviso: Esta ferramenta é apenas para testes de segurança autorizados.
O SmokedMeat existe porque as ameaças a pipelines CI/CD são profundamente subestimadas. O treinamento tradicional de segurança raramente cobre ataques à cadeia de suprimentos, deixando os defensores despreparados para técnicas que adversários exploram ativamente no mundo real.
Construímos isto para dar às equipes de segurança a capacidade de aprender, praticar e validar defesas contra técnicas avançadas de ataque CI/CD por meio de exercícios realistas de red team.
Use apenas contra sistemas que você possui ou para os quais tem permissão explícita por escrito para testar.
SmokedMeat é um framework de pós-exploração para pipelines CI/CD. Aponte para uma organização do GitHub, deixe-o encontrar workflows vulneráveis, implante um implant em um runner comprometido, então mova-se lateralmente por provedores de nuvem, extraia segredos e mapeie o raio de destruição — tudo a partir de uma interface de terminal.
O que ele faz:
Filosofia: Ousado e barulhento. Esta não é uma ferramenta de evasão de EDR. É um framework de demonstração que mostra quão profundo um comprometimento de CI/CD vai antes de qualquer coisa disparar um alerta.
Para quem é:
Para experimentar o SmokedMeat pela primeira vez, instale Docker e make. Go não é necessário.
git clone https://github.com/boostsecurityio/smokedmeat.git
cd smokedmeat
make quickstart
make quickstart é a primeira execução recomendada. Ela inicia a stack de quickstart da versão estável localmente e lança a TUI do operador (Counter) contra o teamserver C2 local (Kitchen).
Primeira execução recomendada:
whoolipublic_repo⚠ Prefira um PAT clássico. PATs de granularidade fina podem ser muito restritivos e podem bloquear o teste de alvos públicos em outras organizações, incluindo whooli.
whooli é o playground de ataque CI/CD deliberadamente vulnerável do SmokedMeat. É o primeiro alvo recomendado para o caminho público.
O assistente de configuração guia você por:
repo.whooli ou sua própria org/repositórioPara o fluxo completo de desafio, veja o guia whooli ou vá direto para a org GitHub whooli.
Quando terminar:
make quickstart-down # Parar contêineres
make quickstart-purge # Parar e deletar todos os dados
Se preferir trabalhar a partir do código-fonte, veja Desenvolvimento.
Se você está contribuindo ou iterando na árvore de código-fonte localmente, instale Go 1.26+ e use o quickstart de desenvolvimento:
make dev-quickstart
make dev-quickstart constrói a imagem local smokedmeat-cloud-shell, inicia cloudflared, nats, e o teamserver C2 (Kitchen), então lança a TUI do operador a partir do código-fonte.
Se você quiser a infraestrutura primeiro e a TUI do operador depois:
make dev-quickstart-up
make dev-quickstart-counter
Quando terminar:
make dev-quickstart-down # Parar contêineres
make dev-quickstart-purge # Parar e deletar todos os dados
Mais modos de implantação e detalhes de desenvolvimento local estão em docs/deployment.md.
O Counter verifica se há novas versões do SmokedMeat na inicialização. Pode ser desabilitado definindo a variável de ambiente SMOKEDMEAT_DISABLE_VERSION_CHECK.
| Termo padrão | Nome no SmokedMeat | Descrição |
|---|---|---|
| TUI do Operador | Counter | Interface de terminal para análise, entrega de payload e fluxo de trabalho de pós-exploração. |
| Teamserver C2 | Kitchen | Servidor API e WebSocket para sessões do operador, stagers, callbacks e estado do grafo. |
| Implant | Brisket | Agente entregue a runners de CI comprometidos para beaconing, execução de comandos e movimentação lateral. |
| Visualização de grafo no navegador | Browser View | Grafo de ataque ao vivo servido pelo teamserver C2 em /graph. |
| Modo | Use quando | Ponto de entrada |
|---|---|---|
| Quickstart | Primeira execução mais rápida na versão fixada | make quickstart |
| Dev Quickstart | Trabalhando na árvore de código-fonte localmente | make dev-quickstart |
| Teamserver Hospedado | Executando um engajamento real com um domínio estável | docs/deployment.md |
O Teamserver Hospedado roda o teamserver C2 em um host dedicado e a TUI do operador nativamente em cada estação de trabalho do operador.
Em alto nível, a TUI do operador (Counter) conversa com o teamserver C2 (Kitchen), que gerencia implants (Brisket) rodando em runners de CI comprometidos e serve o grafo de ataque ao vivo.