
Sign up to save your podcasts
Or


Ce podcast fait le point sur la présentation de François Proulx à NorthSec, où il aborde depuis quatre ans la sécurité de la chaîne d’approvisionnement logicielle (supply chain security). Chaque année a marqué une étape : la première présentait une vue d’ensemble du problème; la deuxième introduisait Poutine, un outil d’analyse statique open source destiné aux équipes défensives pour détecter les vulnérabilités dans les pipelines CI/CD; la troisième présentait les règles internes développées par son employeur, Boost Security, pour réduire les faux positifs de Poutine à grande échelle.
Le tournant de cette année vient d’un constat inquiétant. Fin 2024, François a découvert sur Breach Forums (un forum cybercriminel aujourd’hui disparu ou renommé) des mentions du mot « Poutine » associées au nom de son employeur. Un utilisateur anonyme, visiblement non anglophone, discutait ouvertement de l’exploitation de pipelines de build et partageait des vulnérabilités zero-day encore non exploitées au moment de la publication. Quelques heures plus tard, le projet Python très populaire Ultralytics (des millions de téléchargements hebdomadaires) était compromis. Le même compte est revenu peu après pour se plaindre du faible gain obtenu (quelques bitcoins via un mineur rapidement neutralisé), puis n’a plus jamais été réutilisé.
Cet épisode a révélé que certains attaquants surveillaient activement les publications de l’équipe et exploitaient les vulnérabilités presque en temps réel — un comportement inhabituel, car les attaquants sont généralement en retard sur les chercheurs. L’entreprise de François a elle-même été victime d’une attaque similaire (un employé compromis), ce qui a servi de signal d’alarme interne, même si l’incident a été contenu sans dommage.
François explique que l’effet multiplicateur des dépendances transitives (parfois des milliers, même pour une application simple utilisant React et quelques librairies npm) crée une surface d’attaque énorme. Beaucoup de ces micro-projets sont maintenus par des développeurs isolés, parfois inactifs, épuisés, ou disparus, ce qui laisse des vulnérabilités non corrigées, parfois même non divulguées publiquement.
GitHub Actions, utilisé par environ 90 % des projets open source sur GitHub, est identifié comme un vecteur clé. Bien que sa conception initiale limitait l’impact d’un code malveillant exécuté via une pull request (aucun accès aux secrets de publication), l’ajout progressif de fonctionnalités plus puissantes a ouvert la porte à des scénarios où des tiers non-mainteneurs peuvent déclencher l’accès à des secrets sensibles.
Face à ce constat, François a pris la décision — difficile pour lui, davantage orienté « blue team » — de créer un outil offensif : Smoke Meat. Il le compare à Metasploit, créé par HD Moore au début des années 2000, qui a démocratisé l’exploitation de vulnérabilités classiques. Smoke Meat vise à faire de même pour les vulnérabilités des pipelines CI/CD : rendre leur exploitation accessible à tous, pas seulement aux experts, afin de forcer une prise de conscience collective.
L’outil combine l’analyse statique de Poutine avec un moteur qui filtre les vulnérabilités les plus fiables et à fort impact (« blast radius »), génère automatiquement les payloads d’attaque, puis permet une exploitation réelle et un pivot latéral — comme un « meterpreter » adapté au contexte CI/CD. La terminologie choisie file la métaphore du barbecue : le « counter » (interface de l’opérateur), le « kitchen »/C2 (serveur de commande), et le « brisket » (l’implant qui s’exécute chez la victime, le « smoker »). Une fois actif, le brisket collecte rapidement (en une fraction de seconde) les secrets disponibles en mémoire, les trie selon leur potentiel de pivot, puis peut soit se retirer immédiatement, soit maintenir un tunnel pour une exploration plus poussée.
Contrairement à Metasploit qui exploite généralement des vulnérabilités connues, Smoke Meat cible des zero-days présents dans une infrastructure publique que n’importe qui peut découvrir en scannant des dépôts GitHub. François souligne que les dépôts privés, souvent perçus comme moins exposés que les dépôts publics (vitrines soignées des entreprises), contiennent en réalité davantage de négligences : clés temporaires oubliées, projets expérimentaux mal sécurisés, etc.
L’attaque du groupe Team PCP, discutée dans de précédents épisodes du podcast, illustre parfaitement ce mécanisme. Le groupe a exploité une vulnérabilité connue depuis longtemps dans l’outil populaire Trivy (développé par Aqua), infectant les utilisateurs consommant automatiquement les dernières versions. Le malware exfiltrait ensuite les secrets des nouveaux environnements infectés, permettant de répéter l’opération ailleurs — une propagation quasi-autonome, proche d’un ver informatique, bien que semi-manuelle.
François conclut sur un ton presque désabusé : après quatre ans à répéter le même message, seuls les attaquants semblent l’avoir vraiment entendu. Il insiste sur le caractère déterministe de Smoke Meat — aucun recours à des modèles de langage, uniquement des payloads fiables et reproductibles — et sur la simplicité des correctifs, souvent limités à quelques lignes dans un fichier YAML plutôt qu’à des refontes architecturales majeures. L’objectif de l’outil est de rendre le danger tangible et immédiat pour les équipes qui, autrement, resteraient indifférentes, en reproduisant l’esprit des débuts du hacking où la démonstration technique primait sur le simple discours théorique.
By Nicolas-Loïc Fortin et tous les collaborateursCe podcast fait le point sur la présentation de François Proulx à NorthSec, où il aborde depuis quatre ans la sécurité de la chaîne d’approvisionnement logicielle (supply chain security). Chaque année a marqué une étape : la première présentait une vue d’ensemble du problème; la deuxième introduisait Poutine, un outil d’analyse statique open source destiné aux équipes défensives pour détecter les vulnérabilités dans les pipelines CI/CD; la troisième présentait les règles internes développées par son employeur, Boost Security, pour réduire les faux positifs de Poutine à grande échelle.
Le tournant de cette année vient d’un constat inquiétant. Fin 2024, François a découvert sur Breach Forums (un forum cybercriminel aujourd’hui disparu ou renommé) des mentions du mot « Poutine » associées au nom de son employeur. Un utilisateur anonyme, visiblement non anglophone, discutait ouvertement de l’exploitation de pipelines de build et partageait des vulnérabilités zero-day encore non exploitées au moment de la publication. Quelques heures plus tard, le projet Python très populaire Ultralytics (des millions de téléchargements hebdomadaires) était compromis. Le même compte est revenu peu après pour se plaindre du faible gain obtenu (quelques bitcoins via un mineur rapidement neutralisé), puis n’a plus jamais été réutilisé.
Cet épisode a révélé que certains attaquants surveillaient activement les publications de l’équipe et exploitaient les vulnérabilités presque en temps réel — un comportement inhabituel, car les attaquants sont généralement en retard sur les chercheurs. L’entreprise de François a elle-même été victime d’une attaque similaire (un employé compromis), ce qui a servi de signal d’alarme interne, même si l’incident a été contenu sans dommage.
François explique que l’effet multiplicateur des dépendances transitives (parfois des milliers, même pour une application simple utilisant React et quelques librairies npm) crée une surface d’attaque énorme. Beaucoup de ces micro-projets sont maintenus par des développeurs isolés, parfois inactifs, épuisés, ou disparus, ce qui laisse des vulnérabilités non corrigées, parfois même non divulguées publiquement.
GitHub Actions, utilisé par environ 90 % des projets open source sur GitHub, est identifié comme un vecteur clé. Bien que sa conception initiale limitait l’impact d’un code malveillant exécuté via une pull request (aucun accès aux secrets de publication), l’ajout progressif de fonctionnalités plus puissantes a ouvert la porte à des scénarios où des tiers non-mainteneurs peuvent déclencher l’accès à des secrets sensibles.
Face à ce constat, François a pris la décision — difficile pour lui, davantage orienté « blue team » — de créer un outil offensif : Smoke Meat. Il le compare à Metasploit, créé par HD Moore au début des années 2000, qui a démocratisé l’exploitation de vulnérabilités classiques. Smoke Meat vise à faire de même pour les vulnérabilités des pipelines CI/CD : rendre leur exploitation accessible à tous, pas seulement aux experts, afin de forcer une prise de conscience collective.
L’outil combine l’analyse statique de Poutine avec un moteur qui filtre les vulnérabilités les plus fiables et à fort impact (« blast radius »), génère automatiquement les payloads d’attaque, puis permet une exploitation réelle et un pivot latéral — comme un « meterpreter » adapté au contexte CI/CD. La terminologie choisie file la métaphore du barbecue : le « counter » (interface de l’opérateur), le « kitchen »/C2 (serveur de commande), et le « brisket » (l’implant qui s’exécute chez la victime, le « smoker »). Une fois actif, le brisket collecte rapidement (en une fraction de seconde) les secrets disponibles en mémoire, les trie selon leur potentiel de pivot, puis peut soit se retirer immédiatement, soit maintenir un tunnel pour une exploration plus poussée.
Contrairement à Metasploit qui exploite généralement des vulnérabilités connues, Smoke Meat cible des zero-days présents dans une infrastructure publique que n’importe qui peut découvrir en scannant des dépôts GitHub. François souligne que les dépôts privés, souvent perçus comme moins exposés que les dépôts publics (vitrines soignées des entreprises), contiennent en réalité davantage de négligences : clés temporaires oubliées, projets expérimentaux mal sécurisés, etc.
L’attaque du groupe Team PCP, discutée dans de précédents épisodes du podcast, illustre parfaitement ce mécanisme. Le groupe a exploité une vulnérabilité connue depuis longtemps dans l’outil populaire Trivy (développé par Aqua), infectant les utilisateurs consommant automatiquement les dernières versions. Le malware exfiltrait ensuite les secrets des nouveaux environnements infectés, permettant de répéter l’opération ailleurs — une propagation quasi-autonome, proche d’un ver informatique, bien que semi-manuelle.
François conclut sur un ton presque désabusé : après quatre ans à répéter le même message, seuls les attaquants semblent l’avoir vraiment entendu. Il insiste sur le caractère déterministe de Smoke Meat — aucun recours à des modèles de langage, uniquement des payloads fiables et reproductibles — et sur la simplicité des correctifs, souvent limités à quelques lignes dans un fichier YAML plutôt qu’à des refontes architecturales majeures. L’objectif de l’outil est de rendre le danger tangible et immédiat pour les équipes qui, autrement, resteraient indifférentes, en reproduisant l’esprit des débuts du hacking où la démonstration technique primait sur le simple discours théorique.

14 Listeners

75 Listeners