• Tech Support ⤴
  • Projects
  • Services
    • AI Development
    • UI/UX Design
    • Web Development
    • Technology Support
    • Mobile App Development
    • Banking ATM Interfaces
    • Process Automation
    • Security Auditing
    • Local AI Servers
  • odoo ERP
get in touchStart with Eva
logo
Tech Support ⤴
Projects
Services
AI DevelopmentUI/UX DesignWeb DevelopmentTechnology SupportMobile App DevelopmentBanking ATM InterfacesProcess AutomationSecurity AuditingLocal AI Servers
odoo ERP
get in touchStart with Eva
Loading…
logo

Transforming businesses through AI-powered digital innovation and creative excellence.

Quick Links

BlogAinexProjectsContact us

Contact Us

pinDubai Digital Park, A5, DTEC - Silicon Oasisemail[email protected]phone+971 55 7538087
© 2026 aratech. All rights reserved.
Privacy PolicyTerms of ServiceCookie Policy
Accueil / Blog / La serrure qui vérifie l'adresse : SlugFest, npm et l'agent IA qui installe tout

La serrure qui vérifie l'adresse : SlugFest, npm et l'agent IA qui installe tout

Une faille dans la publication de confiance npm a permis à des attaquants de détourner plus de 1 500 paquets en revendiquant simplement le nom d'un dépôt abandonné, et ce sont désormais les agents IA qui installent le code. Le correctif de GitHub change ce que "confiance" signifie.

16 octobre 2026 - 7 min de lecture

Points clés

ExpandCollapse
  • - SlugFest a révélé une liaison de confiance fondée sur le nom dans la publication de confiance npm : plus de 1 500 paquets et 10 millions de téléchargements étaient accessibles en revendiquant un slug de dépôt GitHub abandonné.
  • - Aucun vol d'identifiant n'était nécessaire. Un simple renommage ou transfert de dépôt suffisait comme condition préalable.
  • - Le correctif de GitHub fait expirer les configurations de publication de confiance non validées après 48 heures et lie la confiance à l'ID immuable du dépôt.
  • - Les agents IA installent environ 70 paquets par mois sur un poste typique et jusqu'à 350 sur les machines de développement, en résolvant les dépendances sans vérifier leur origine.
  • - L'arrivée d'un paquet est désormais un événement de sécurité à journaliser : la même faiblesse de liaison par le nom a touché Open VSX (87 packs d'extensions) et le Marketplace VS Code (677).
Illustration cyberpunk sombre d'un cadenas lumineux en forme d'adresse de dépôt ouvert par une main de circuits, tandis que des nœuds d'agents IA néon affluent vers une pile de boîtes de paquets

Chaque compromission dans la chaîne d'approvisionnement a un moment où la confiance change discrètement de mains. Le nôtre s'est produit dans un système que presque aucune équipe ne regarde : le lien entre un dépôt GitHub et un paquet npm.

Les chercheurs de Bloom Security ont baptisé la faille SlugFest, et la métaphore de leur chercheur principal Golan Myers est celle qui est restée : c'est comme une serrure qui vérifie l'adresse sur la porte plutôt que le propriétaire de la maison. Quand le propriétaire déménage, celui qui emménage récupère la clé.

Voici la partie inconfortable. Personne n'a eu besoin de voler un identifiant. La seule condition préalable était de renommer un dépôt.

Ce que la publication de confiance npm devait résoudre

En juillet 2025, npm a lancé la publication de confiance (trusted publishing), et l'idée était vraiment bonne. Au lieu de stocker des jetons npm de longue durée sur un serveur de build (et de les laisser fuiter dans les journaux, les caches et les runners CI compromis), un workflow GitHub Actions demande un jeton OpenID Connect éphémère, le présente à npm et reçoit en échange un identifiant de publication. Les versions arrivent avec des attestations de provenance, ce qui permet à quiconque de retracer où un paquet a été construit.

Le design élimine toute une classe d'incidents de fuite de secrets. Il a aussi introduit un mode de défaillance subtil, à cause d'un seul champ.

npm a lié la relation de confiance à l'adresse lisible du dépôt : owner/repository. Les jetons OIDC de GitHub transportent aussi l'ID numérique permanent du dépôt, qui survit aux renommages et aux transferts. npm, jusqu'à la première publication réussie d'un paquet, ignorait totalement ce numéro et se contentait de comparer le nom.

Les noms bougent. Ils se libèrent quand un mainteneur renomme, transfère ou supprime un dépôt, et une fois qu'un nom est libre, n'importe qui peut le revendiquer.

Comment SlugFest fonctionne réellement

  1. Un mainteneur configure la publication de confiance pour un paquet, mais n'a pas encore publié de version depuis ce dépôt : la liaison repose donc encore sur le nom.
  2. Le mainteneur renomme, transfère ou supprime le dépôt. L'ancien slug owner/repository devient disponible.
  3. Un attaquant crée un dépôt exactement à cet emplacement libéré et déclenche un workflow de publication. GitHub émet un jeton OIDC portant le nom revendiqué et un tout nouvel ID de dépôt.
  4. npm vérifie le nom, constate qu'il correspond à la configuration stockée et délivre un jeton de publication pour un paquet qui n'appartient pas à l'attaquant.

À partir de là, l'attaquant publie une version malveillante sous le nom légitime du paquet. Les compteurs de téléchargements, la réputation et tous les projets dépendants suivent. Le scan de Bloom sur l'ensemble du registre a identifié plus de 1 500 paquets vulnérables, totalisant plus de 10 millions de téléchargements cumulés et plus d'un million de téléchargements par mois.

Bloom a signalé la faille à GitHub le 6 juin 2026. Elle a été qualifiée le 9 juin. Puis la piste s'est refroidie en juillet, et le correctif n'est arrivé que lorsque les chercheurs se préparaient à publier, plus de 120 jours plus tard. GitHub et npm ont depuis confirmé la remédiation et présenté leurs excuses pour cette communication tardive.

Le correctif a exactement la bonne forme : les configurations de publication de confiance nouvellement créées expirent désormais après 48 heures si elles ne réalisent pas une première publication réussie, qui valide la liaison à l'identité immuable du dépôt. Modifier l'identité d'un dépôt ou d'un projet exige une nouvelle relation de confiance et une nouvelle fenêtre de 48 heures. npm a également cessé d'accepter les jetons de publication de confiance issus d'événements issue_comment, en plus de la restriction existante sur pull_request_target.

Puis les agents sont arrivés

Si SlugFest ne concernait que des développeurs humains lançant npm install, ce serait déjà sérieux. C'est la seconde moitié de la recherche de Bloom qui devrait changer votre façon de voir votre pipeline de build.

Bloom a étudié des millions d'agents IA dans des dizaines d'organisations. Le poste moyen reçoit environ 70 paquets installés par des agents IA chaque mois. Les machines de développement approchent 350. Chaque agent installe entre 0,3 et 1,2 paquet par jour ; sur les machines de développement, les installations directes vont de deux à trois par jour, en plus de tout ce que ces paquets entraînent. Un poste typique exécute trois agents, entre lignes de commande, IDE, extensions et assistants. Les machines de développement en exécutent cinq ou plus.

Alignez maintenant cela avec le comportement d'un agent. Il résout lui-même les dépendances, préfère la dernière version et demande rarement d'où vient un paquet. Une version malveillante publiée via un slug récupéré est installée, et son hook postinstall s'exécute sans aucun humain dans la boucle.

Bloom l'a constaté en production, en bloquant l'agent IA d'un client qui tentait d'installer l'un des paquets concernés.

Le bénéfice pour l'attaquant est une cascade. Compromettez un paquet. Un agent IA sur la machine d'un mainteneur populaire le tire. Ce poste devient la rampe de lancement d'une version malveillante du paquet du mainteneur lui-même, et tous ses consommateurs sont exposés. C'est le schéma Shai-Hulud, avec un accélérateur.

La provenance n'est pas une case à cocher

Il existe un second angle mort qui mérite attention, car c'est le genre de chose qui survit à un audit de conformité.

Une version malveillante peut porter une attestation de provenance générée par le dépôt de l'attaquant lui-même. Certains systèmes de vérification contrôlent seulement qu'une attestation existe, pas que sa source correspond au mainteneur dont le paquet était censé venir. La signature est réelle. Le signataire est le mauvais. C'est ici que le contrôle de la chaîne d'approvisionnement doit passer de « est-ce signé ? » à « est-ce signé par l'identité à laquelle je fais confiance, et cette identité est-elle encore le même objet qu'au mois dernier ? ».

À noter que le Warehouse de PyPI stocke déjà des identifiants immuables, ce que Bloom recommandait pour npm. La voie GitLab de la publication de confiance npm présentait la même faiblesse.

Ce que cela signifie pour les clients d'aratech

La plupart des organisations ne peuvent pas corriger un registre et ne vont pas cesser d'utiliser npm. Ce qu'elles peuvent faire, c'est arrêter de traiter l'arrivée des paquets comme un événement invisible.

  1. Auditez dès aujourd'hui les liaisons de publication de confiance. Les mainteneurs disposant de droits de publication doivent exécuter npm trust list et vérifier que chaque slug configuré pointe toujours vers un dépôt qu'ils contrôlent. Toute liaison pointant vers un dépôt renommé, transféré ou supprimé doit être supprimée et recréée.
  2. Traitez l'hygiène des dépôts comme du travail de sécurité. Supprimer une liaison de confiance à chaque renommage, transfert ou suppression de dépôt doit être une étape écrite du runbook, pas une bonne intention.
  3. Placez une barrière devant le chemin d'installation. Un pare-feu de chaîne d'approvisionnement qui décide ce qui entre dans l'environnement est le contrôle qui passe réellement à l'échelle, parce qu'il ne dépend pas d'un humain relisant un diff de lockfile à 18 h.
  4. Étendez l'inventaire au-delà des paquets. Auditez les extensions, plugins, serveurs MCP, skills et applications. Bloom a trouvé le même schéma en août dans Open VSX et le Marketplace VS Code : 87 packs d'extensions dans l'un et 677 dans l'autre référençaient des extensions inexistantes, libres à revendiquer.
  5. Écrivez la politique des agents. Quels agents peuvent installer des logiciels, depuis quels registres, avec quelle approbation, et comment vous le sauriez après coup.

Le schéma à retenir

Deux ans d'actualités de sécurité liées à l'IA tournent autour de la même leçon, et SlugFest l'énonce proprement : la liaison entre un nom lisible et la chose qu'il identifie est l'invariant le plus important de tout système de confiance. Cassez-le par un simple renommage et la garantie s'effondre, silencieusement, sans alerte et sans la moindre connexion échouée.

Vos agents sont désormais de l'infrastructure. Ils installent du code à la vitesse de la machine, dans des environnements dont vous êtes responsable. Le nom sur la porte n'est plus une preuve de qui se trouve à l'intérieur. Vérifiez l'identité, pas l'orthographe, et faites-le automatiquement.

Table des matières

  • ↗Ce que la publication de confiance npm devait résoudre
  • ↗Comment SlugFest fonctionne réellement
  • ↗Puis les agents sont arrivés
  • ↗La provenance n'est pas une case à cocher
  • ↗Ce que cela signifie pour les clients d'aratech
  • ↗Le schéma à retenir

Articles liés

Illustration cyberpunk sombre d'un code néon s'écoulant en forme de bouclier fissuré

Ça tourne, donc ça part en production : le Last Secure Code Benchmark et le problème des 25 %

Un nouveau benchmark publié le 14 octobre a testé six agents de codage de frontière sur 450 tâches issues de 150 vulnérabilités réelles. Le meilleur n'a produit du code à la fois fonctionnel et sûr que dans 25,1 % des cas, alors que tous dépassaient 73 % en fonctionnalité. L'écart entre le code qui tourne et le code sûr est devenu un problème mesurable de chaîne de production.

Necolas HamwiNecolas Hamwi
15 octobre 2026 - 7 min de lecture
Illustration cyberpunk sombre d'un terminal lumineux et d'une loupe révélant du code décompilé à partir d'un flux de chiffres binaires

REA : le repo aux 260 000 étoiles qui a rendu toute application lisible

REA, pour Reverse Engineer Anything, a dépassé 262 000 étoiles GitHub en donnant aux agents de code IA une boîte à outils complète de rétro-ingénierie. Il inspecte les binaires, les apps Electron, les APK et les sites web, puis explique comment ils fonctionnent. Le bémol : il reconstruit le comportement, pas le code source, et cela change ce qu'est vraiment une forteresse.

Necolas HamwiNecolas Hamwi
15 octobre 2026 - 6 min de lecture
Illustration cyberpunk sombre d'un noyau d'agent IA lumineux avec des circuits et des dégradés néon violet et cyan sur fond ultra-sombre

Muse Wonder de Meta met les agents IA au volant

Le Superintelligence Lab de Meta a publié le 12 octobre 2026 Muse Wonder et Muse Wonder Full, ses premiers modèles à rivaliser avec le haut du panier d'OpenAI et d'Anthropic. Bâtis autour de la mémoire à long terme et de la persévérance, ils animent des agents qui se souviennent de vous et agissent en votre nom. Le lancement déplace la vraie question : non plus quel modèle est le plus intelligent, mais à quoi peut-on confier un agent.

Necolas HamwiNecolas Hamwi
14 octobre 2026 - 7 min de lecture