Teknik - Le CI/CD pour piéger les développeurs - Parce que... c'est l'épisode 0x330! — PolySécure Podcast

Teknik - Le CI/CD pour piéger les développeurs - Parce que... c'est l'épisode 0x330!

PolySécure Podcast · 19/08/2026 04:00 · 32 min

Contenu de l'épisode

Parce que… c’est l’épisode 0x330! Shameless plug Description

Dans cet épisode technique de Polysécure, l’animateur reçoit Jordan Theodore (Glimps) pour discuter d’un sujet devenu central depuis 2025 : la sécurité des chaînes CI/CD et, plus largement, la compromission de la chaîne d’approvisionnement logicielle (supply chain). Jordan explique que Glimps a été fortement sollicité récemment, notamment pour ses capacités d’analyse de fichiers permettant de détecter des packages malveillants dans les écosystèmes npm et PyPI.

Un nouveau type de menace

Le point de départ de la discussion est simple : plusieurs grands groupes ont subi des incidents où l’ensemble de leur chaîne CI/CD s’est retrouvé compromis à cause d’un package ajouté par défaut. Ce type d’attaque est particulièrement pernicieux car il passe inaperçu : les développeurs important une dépendance importent aussi, sans le savoir, une multitude de sous-paquets qu’ils ne maîtrisent pas.

Jordan cite l’exemple du ver Shai-Hulud, apparu en 2025, capable de s’autopropager dans l’écosystème npm sans intervention humaine. Chaque machine infectée devient un nouvel agent de propagation : vol de tokens (Git, AWS), puis publication automatique de nouvelles versions vérolées de packages. Le constat qui ressort de l’échange est un changement de cible : les attaquants ne visent plus prioritairement les utilisateurs finaux, mais les développeurs, dont les postes offrent des accès à privilèges élevés, un accès réseau étendu et un tremplin direct vers le cœur des entreprises — les pipelines de supply chain.

Comment Glimps s’est adapté

Glimps, dont la spécialité historique est la détection de malwares dans des fichiers binaires, a dû développer un tout nouveau moteur de détection multi-scripts (JavaScript, Python, PowerShell) capable d’identifier des intentions malveillantes directement dans du code plutôt que dans des exécutables. Le principal défi a été la disponibilité de données d’entraînement : bien que l’entreprise dispose d’une base de plus de 300 millions de fichiers, les cas d’attaques spécifiques à npm restaient rares, ce qui a nécessité un important travail de tri manuel par les équipes CTI, produit et R&D pour distinguer patterns malveillants et usages légitimes.

Jordan illustre la sophistication de ces attaques avec un exemple concret : un script de pré-installation npm qui recherche des clés et variables d’environnement dans les conteneurs Docker, scanne le réseau, puis établit une connexion via socat ou netcat vers un serveur distant — le tout sans être détecté par les antivirus traditionnels ni par les scanners de vulnérabilité, puisque le code est structuré de façon à paraître légitime. Certains scripts allaient jusqu’à télécharger le runtime Bun pour exécuter leur charge malveillante, profitant de sa popularité croissante.

Le « living off the land » généralisé

Un fil conducteur de l’épisode est l’usage massif de techniques de living off the land : les attaquants n’utilisent que des briques légitimes (runtimes reconnus, outils CI/CD authentiques, runners GitHub, outils comme TruffleHog) assemblées de façon malveillante. Cette approche rend la détection particulièrement difficile puisque chaque composant, pris isolément, est parfaitement normal.

L’échange élargit ensuite le sujet au-delà de npm : les fichiers Blender (.blend) peuvent contenir du Python exécuté automatiquement à l’ouverture, ce qui permet à un attaquant de piéger un simple asset 3D (une chaise, par exemple) pour compromettre le poste d’un designer ou d’un architecte. Même les modèles d’int

Plus d'informations