Un framework Red Team CI/CD pour démontrer les risques de sécurité des pipelines de build.
Framework Red Team pour CI/CD
Comme Metasploit, mais pour les pipelines CI/CD.
Des créateurs du scanner SAST de pipeline de build poutine chez BoostSecurity Labs.

Avertissement : Cet outil est réservé aux tests de sécurité autorisés.
SmokedMeat existe parce que les menaces sur les pipelines CI/CD sont largement sous-estimées. La formation traditionnelle en sécurité couvre rarement les attaques sur la chaîne d'approvisionnement, laissant les défenseurs mal préparés face à des techniques que les attaquants exploitent activement dans la nature.
Nous l'avons construit pour donner aux équipes de sécurité la capacité d'apprendre, de pratiquer et de valider les défenses contre les techniques d'attaque CI/CD avancées via des exercices réalistes d'équipe rouge.
Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite.
SmokedMeat est un framework de post-exploitation pour les pipelines CI/CD. Pointez-le vers une organisation GitHub, laissez-le trouver des workflows vulnérables, déployez un implant sur un runner compromis, puis pivotez à travers les fournisseurs cloud, extrayez des secrets et cartographiez le rayon d'explosion – le tout depuis une interface utilisateur en terminal.
Ce qu'il fait :
Philosophie : Audacieux et bruyant. Ce n'est pas un outil d'évasion EDR. C'est un framework de démonstration qui montre jusqu'où une compromission CI/CD peut aller avant que quoi que ce soit ne déclenche une alerte.
À qui s'adresse-t-il :
Pour essayer SmokedMeat pour la première fois, installez Docker et make. Go n'est pas nécessaire.
git clone https://github.com/boostsecurityio/smokedmeat.git
cd smokedmeat
make quickstart
make quickstart est la première exécution recommandée. Elle démarre la stack quickstart de la version stable localement et lance l'interface TUI de l'opérateur (Counter) contre le serveur d'équipe C2 (Kitchen).
Première exécution recommandée :
whoolipublic_repo⚠ Préférez un PAT classique. Les PAT à granularité fine peuvent être trop restrictifs et pourraient bloquer les tests de cibles publiques dans d'autres organisations, y compris whooli.
whooli est le terrain d'entraînement d'attaque CI/CD délibérément vulnérable de SmokedMeat. C'est la cible recommandée pour le chemin public.
L'assistant de configuration vous guide à travers :
repo.whooli ou votre propre organisation/dépôtPour le parcours complet du défi, voir le guide whooli ou allez directement à l'organisation GitHub whooli.
Lorsque vous avez terminé :
make quickstart-down # Arrêter les conteneurs
make quickstart-purge # Arrêter et supprimer toutes les données
Si vous préférez travailler à partir des sources, voir Développement.
Si vous contribuez ou itérez localement sur l'arborescence source, installez Go 1.26+ et utilisez le démarrage rapide de développement :
make dev-quickstart
make dev-quickstart construit l'image locale smokedmeat-cloud-shell, démarre cloudflared, nats et le serveur d'équipe C2 (Kitchen), puis lance l'interface TUI de l'opérateur depuis les sources.
Si vous voulez d'abord l'infrastructure et l'interface TUI plus tard :
make dev-quickstart-up
make dev-quickstart-counter
Lorsque vous avez terminé :
make dev-quickstart-down # Arrêter les conteneurs
make dev-quickstart-purge # Arrêter et supprimer toutes les données
Plus de modes de déploiement et de détails de développement local dans docs/deployment.md.
Counter vérifie la disponibilité de nouvelles versions de SmokedMeat au démarrage. Cela peut être désactivé en définissant la variable d'environnement SMOKEDMEAT_DISABLE_VERSION_CHECK.
| Terme standard | Nom SmokedMeat | Description |
|---|---|---|
| Interface TUI de l'opérateur | Counter | Interface terminal pour l'analyse, la livraison de payload et le workflow de post-exploitation. |
| Serveur d'équipe C2 | Kitchen | Serveur API et WebSocket pour les sessions opérateur, les stagers, les callbacks et l'état du graphe. |
| Implant | Brisket | Agent livré aux runners CI compromis pour le beaconing, l'exécution de commandes et le pivotement. |
| Vue graphique navigateur | Browser View | Graphe d'attaque en direct servi par le serveur d'équipe C2 à /graph. |
| Mode | Quand l'utiliser | Point d'entrée |
|---|---|---|
| Quickstart | Première exécution la plus rapide sur la version épinglée | make quickstart |
| Dev Quickstart | Travail local sur l'arborescence source | make dev-quickstart |
| Teamserver Hébergé | Engagement réel avec un nom de domaine stable | docs/deployment.md |
Le mode Teamserver Hébergé exécute le serveur d'équipe C2 sur un hôte dédié et l'interface TUI de l'opérateur en natif sur chaque poste de travail opérateur.
À haut niveau, l'interface TUI de l'opérateur (Counter) communique avec le serveur d'équipe C2 (Kitchen), qui gère les implants (Brisket) s'exécutant sur les runners CI compromis et sert le graphe d'attaque en direct.