En bref

  • Le 8 juillet 2026, des attaquants ont compromis le compte GitHub d'un mainteneur d'Injective Labs pour injecter un backdoor dans 18 packages npm du SDK de la blockchain Injective.
  • Le package principal @injectivelabs/sdk-ts cumule 50 000 téléchargements hebdomadaires et est utilisé par des développeurs de wallets, DEX, bots de trading et applications DeFi.
  • Les utilisateurs ayant installé la version 1.20.21 doivent impérativement passer à la version 1.20.23 et considérer toute clé privée ou phrase mnémonique comme compromise.

Comment des attaquants ont empoisonné 18 packages npm en moins d'une heure

Le 8 juillet 2026, la communauté blockchain a frôlé une catastrophe. Des acteurs malveillants ont réussi à infiltrer le dépôt GitHub d'Injective Labs — l'organisation derrière la blockchain Injective Protocol — et à pousser une version empoisonnée du SDK TypeScript (@injectivelabs/sdk-ts) sur le registre npm. En moins d'une heure, 18 packages liés au SDK avaient été contaminés. L'attaque illustre une fois de plus la fragilité des chaînes d'approvisionnement logicielles open source, particulièrement dans l'écosystème des cryptomonnaies où les enjeux financiers sont immédiats.

Selon les analyses publiées par StepSecurity et relayées par BleepingComputer et The Hacker News, le vecteur d'intrusion initial repose sur la compromission du compte GitHub d'un mainteneur de confiance, identifié sous le pseudonyme « thomasRalee ». Les attaquants ont utilisé l'accès à ce compte pour exploiter le pipeline de publication OIDC (OpenID Connect) configuré dans le dépôt, également connu sous le nom de « trusted-publisher ». Ce mécanisme, censé renforcer la sécurité en évitant le stockage de tokens statiques, a ici été détourné : une fois le compte du mainteneur compromis, le pipeline automatisé a accepté les commits malveillants et publié la version 1.20.21 comme s'il s'agissait d'une release légitime.

Le backdoor lui-même était dissimulé derrière une fausse fonctionnalité de télémétrie. Dans le code injecté, des routines présentées comme de la collecte anonyme de métriques d'utilisation capturaient en réalité les clés privées et les phrases mnémoniques de récupération des wallets crypto, puis les exfiltraient vers un serveur contrôlé par les attaquants. La technique du camouflage en analytics est classique dans les attaques de supply chain, précisément parce que la télémétrie est rarement inspectée en profondeur par les développeurs intégrant une dépendance tierce.

L'ampleur potentielle de l'incident est considérable : le package @injectivelabs/sdk-ts enregistre environ 50 000 téléchargements par semaine sur npm. Il constitue la brique fondamentale sur laquelle s'appuient des développeurs du monde entier pour construire des applications décentralisées — wallets, échanges décentralisés (DEX), bots de trading algorithmique, protocoles DeFi et outils de paiement. La contamination de 18 packages additionnels via des dépendances épinglant la version malveillante a élargi la surface d'exposition à tous les développeurs utilisant ces packages de manière transitive, sans forcément avoir installé directement le SDK principal.

La réponse d'Injective Labs a été remarquablement rapide. Selon Crypto Briefing, le code malveillant n'est resté actif sur npm que moins d'une heure avant d'être détecté et retiré. L'équipe de sécurité a immédiatement déprécié la version 1.20.21 sur le registre npm et publié une version propre (1.20.23), en sautant délibérément la 1.20.22 pour créer une rupture nette et éviter toute confusion. Un rapport d'incident public a été diffusé, et des mesures de renforcement du pipeline CI/CD ont été annoncées.

D'après les informations disponibles — notamment via Crypto Briefing et l'analyse post-mortem d'Injective — aucun utilisateur n'aurait subi de perte financière directe. Ce résultat favorable s'explique par la conjonction de plusieurs facteurs : la fenêtre d'exposition très courte (moins de 60 minutes), la capacité de l'équipe à identifier rapidement l'incident, et le fait que de nombreux développeurs utilisent des mécanismes de cache ou des lock files qui ont pu éviter la mise à jour automatique vers la version empoisonnée. Néanmoins, l'absence de pertes confirmées ne signifie pas l'absence de risque résiduel.

Les recommandations techniques publiées par StepSecurity et reprises par SC Media sont claires. Toute organisation ayant installé la version 1.20.21 doit en priorité mettre à jour vers la version 1.20.23, traiter l'intégralité des clés privées et phrases mnémoniques qui auraient transité par le package comme définitivement compromises et les remplacer, auditer ses pipelines de dépendances pour identifier d'éventuelles dépendances transitives affectées, et activer des outils d'intégrité de build comme des vérifications de hash de packages en pre-install.

L'incident met également en lumière une vulnérabilité systémique des pipelines OIDC basés sur les comptes individuels de mainteneurs. Lorsqu'un seul compte humain contrôle la clé d'entrée vers un pipeline de publication automatisé, sa compromission suffit à empoisonner des milliers de projets en aval. La séparation des privilèges, l'authentification multi-facteurs résistante au phishing, et les revues de code obligatoires avant publication sont désormais des impératifs non négociables pour tout projet open source à fort impact, comme le recommandent les guides de la Linux Foundation et du NIST SSDF (Secure Software Development Framework).

Pourquoi cet incident redéfinit les standards de sécurité pour l'écosystème crypto DeFi

L'attaque sur Injective Labs s'inscrit dans une tendance lourde d'attaques ciblant les supply chains logicielles open source, avec une prédilection croissante pour l'écosystème blockchain et crypto. En 2024 et 2025, des incidents similaires avaient touché des packages comme xz-utils, polyfill.io ou plusieurs bibliothèques PyPI ciblant des outils DeFi. Dans chaque cas, la logique est identique : compromettre une brique de confiance utilisée par de nombreux développeurs pour atteindre indirectement des cibles finales à fort potentiel financier. Avec les cryptomonnaies, les gains sont immédiats et pseudoanymes.

Ce qui distingue l'incident Injective des attaques précédentes, c'est la sophistication du vecteur choisi. En ciblant le pipeline OIDC trusted-publisher plutôt que de voler directement un token API npm, les attaquants ont contourné les mécanismes de détection classiques liés aux rotations de secrets. La plupart des outils de surveillance des dépôts ne vérifient pas la légitimité comportementale d'un commit poussé sous l'identité d'un mainteneur établi — ils vérifient la signature, pas l'intention. Cette lacune est documentée depuis plusieurs années dans la recherche en sécurité des supply chains, mais sa mise en pratique à grande échelle dans l'écosystème npm reste préoccupante.

Pour les entreprises qui intègrent des SDK blockchain dans leurs systèmes de paiement, de custody ou de trading, l'incident soulève des questions de gouvernance urgentes. Les frameworks de type SSDF (Secure Software Development Framework) du NIST et les guides de l'ENISA sur la sécurité des supply chains logicielles préconisent la mise en place de SBOM (Software Bill of Materials) pour tracer exactement les composants utilisés et réagir rapidement en cas d'incident. Peu d'organisations DeFi ont encore franchi ce pas.

Enfin, l'issue heureuse de cet incident — aucune perte confirmée, patch publié en moins d'une heure — ne doit pas masquer le scénario contre-factuel : une fenêtre d'exposition de 24 ou 48 heures aurait pu se traduire par des dizaines de millions de dollars de fonds volés. La rapidité de la réponse d'Injective Labs est exemplaire, mais elle ne peut pas servir de modèle universel. La plupart des projets open source n'ont pas les ressources nécessaires pour maintenir une surveillance 24h/24, ce qui rend d'autant plus importantes les initiatives comme le Security Scorecards d'OpenSSF ou le programme Alpha-Omega de la Linux Foundation.

Ce qu'il faut retenir

  • 18 packages npm d'Injective Labs ont été backdoorés via un compte GitHub de mainteneur compromis le 8 juillet 2026 ; la fenêtre d'exposition n'a duré qu'une heure.
  • Le backdoor utilisait une fausse télémétrie pour exfiltrer clés privées et phrases mnémoniques ; toute organisation ayant installé la v1.20.21 doit traiter ses clés comme compromises et passer en v1.20.23.
  • Les pipelines OIDC trusted-publisher présentent une faille systémique si le compte humain associé est compromis : la rotation de secrets ne suffit pas, une revue obligatoire avant publication est indispensable.

Comment savoir si mon projet est affecté par l'attaque Injective Labs ?

Vérifiez votre fichier package-lock.json ou yarn.lock pour détecter la présence de @injectivelabs/sdk-ts en version 1.20.21, ainsi que des 17 packages @injectivelabs additionnels épinglant cette version. Si c'est le cas, mettez à jour vers la version 1.20.23 immédiatement, révoquez et régénérez toutes les clés privées et phrases mnémoniques qui auraient pu transiter par le SDK, et auditez vos logs réseau pour détecter des connexions sortantes vers des serveurs inconnus durant la fenêtre du 8 juillet 2026.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact