1 min de lecture
Un dépôt GitHub sans une seule ligne de code malveillant. Un agent de codage qui suit sagement un message d’erreur bien formulé. Et pourtant : un shell inversé, les credentials du développeur exfiltrées, une persistance installée. La charge utile n’apparaît jamais dans le dépôt, jamais dans la revue de code, jamais dans le contexte que l’agent traite avant de l’exécuter.
Source : 0DIN Blog (Andre Hall, Miller Engelbrecht), “Clone This Repo and I Own Your Machine”, 0din.ai/blog, relayé par tl;dr sec #336.
Trois composants anodins, un système complet
Le dépôt a une documentation d’installation parfaitement banale. Le package lève un RuntimeError dont le message vous recommande poliment la commande à lancer pour réparer. Et cette commande d’initialisation va chercher sa vraie instruction dans un enregistrement DNS TXT contrôlé par l’attaquant, qu’elle décode en base64 et passe directement à bash.
Un secret bien caché finit par se trouver. Un secret qui n’est nulle part dans ce que vous inspectez survit à un audit parfait.
Le shell inversé n’a rien d’original ; on en a vu des centaines. Ce qui l’est, c’est d’avoir compris qu’un agent de codage face à une erreur cherche à la corriger, pas à s’arrêter et à poser la question. Même mécanique que dans AWS Kiro : l’agent accorde sa confiance à un contenu que personne n’a validé.
Je détaille dans la version complète pourquoi cette technique rend la revue de code et le SAST structurellement aveugles, le tableau d’impact complet, et mes recommandations de durcissement pour les environnements de développement assistés par agent : sandboxing des scripts d’installation, traitement de la résolution DNS comme un canal de données, journalisation des requêtes DNS sortantes des postes de développement.
Articles lies
La KEV de la semaine frappe la chaîne de build : Artifactory et GitLab dans le même panier
CISA ajoute au KEV cinq CVE JFrog Artifactory (dont une paire chaînable vers l'admin) et un path traversal GitLab en CVSS 10, tous deux déjà exploi...
18/09/2026GitSpawn : le .git/config du dépôt exécute du code dans votre agent, avant le prompt de confiance
Analyse de GitSpawn (Manifold Security) : comment un .git/config malveillant abuse de core.fsmonitor pour exécuter du code dans sept agents de coda...
15/09/2026Claude in Chrome : 6 risques à modéliser avant de déployer, et 3 incidents qui prouvent que la liste est juste
Analyse des 6 risques de sécurité de Claude in Chrome listés par la Cloud Security Alliance, confrontés aux vulnérabilités réelles ShadowPrompt, Cl...
15/09/2026Vibe coding : 6, 15, 35... la courbe des CVE générées par IA qui double chaque mois
Le projet Vibe Security Radar de Georgia Tech trace les CVE directement attribuables au code généré par IA : méthodologie, croissance x6 en un trim...
11/09/2026NemoClaw : une page web piégée suffit pour prendre le contrôle d'un agent Ollama local
Analyse de CVE-2026-65105 (NemoClaw, NVIDIA) découverte par Oasis Security : contournement des origin checks par DNS rebinding vers l'API non authe...
09/09/2026