S'inscrire

Coinbase initialement ciblé par une attaque de la chaîne d’approvisionnement de GitHub Actions ; les secrets CI/CD de 218 référentiels dévoilés

SShiloh 6 min de lecture 542 vues

L’attaque de la chaîne d’approvisionnement impliquant l’action GitHub « tj-actions/changed-files » a commencé comme une attaque très ciblée contre l’un des projets open source de Coinbase, avant d’évoluer vers quelque chose de plus répandu.

« La charge utile visait à exploiter le flux CI/CD public de l’un de leurs projets open source, AgentKit, probablement dans le but de l’exploiter pour d’autres compromissions », a déclaré l’unité 42 de Palo Alto Networks dans un rapport. « Cependant, l’attaquant n’a pas pu utiliser les secrets Coinbase ni publier de packages. »

L’ incident a été révélé le 14 mars 2025, lorsqu’il a été découvert que le fichier « tj-actions/changed-files » avait été compromis pour injecter du code divulguant des secrets sensibles des dépôts exécutant le workflow. L’identifiant CVE lui a été attribué : CVE-2025-30066 (score CVSS : 8,6).

Selon Endor Labs, on estime que 218 référentiels GitHub ont exposé leurs secrets en raison de l’attaque de la chaîne d’approvisionnement, et la majorité des informations divulguées incluent « quelques dizaines » d’informations d’identification pour DockerHub, npm et Amazon Web Services (AWS), ainsi que des jetons d’accès à l’installation GitHub.

« L’ampleur initiale de l’attaque de la chaîne d’approvisionnement semblait effrayante, étant donné que des dizaines de milliers de référentiels dépendent de GitHub Action », a déclaré le chercheur en sécurité Henrik Plate .

« Cependant, une analyse approfondie des flux de travail, de leurs exécutions et des secrets divulgués montre que l’impact réel est plus faible que prévu : « Seuls » 218 référentiels ont divulgué des secrets, et la majorité d’entre eux sont des GITHUB_TOKEN de courte durée, qui expirent une fois l’exécution d’un flux de travail terminée. »

Depuis, il est apparu que la balise v1 d’une autre action GitHub appelée « reviewdog/action-setup », sur laquelle « tj-actions/changed-files » repose comme dépendance via « tj-actions/eslint-changed-files », a également été compromise à l’approche de l’incident tj-actions avec une charge utile similaire. La violation de « reviewdog/action-setup » est répertoriée sous la référence CVE-2025-30154 (score CVSS : 8,6).

L’exploitation de CVE-2025-30154 aurait permis à l’acteur de menace non identifié d’obtenir un jeton d’accès personnel (PAT) associé à « tj-actions/changed-files », lui permettant ainsi de modifier le référentiel et de pousser le code malveillant, impactant à son tour chaque référentiel GitHub qui dépendait de l’action.

« Lorsque l’action tj-actions/eslint-changed-files a été exécutée, les secrets du coureur CI tj-actions/changed-files ont été divulgués, permettant aux attaquants de voler les informations d’identification utilisées dans le coureur, y compris un jeton d’accès personnel (PAT) appartenant au compte utilisateur GitHub tj-bot-actions », ont déclaré les chercheurs de l’unité 42 Omer Gil, Aviad Hahami, Asi Greenholts et Yaron Avital.

On soupçonne actuellement que l’attaquant a réussi à accéder à un jeton disposant d’un accès en écriture à l’organisation reviewdog afin d’effectuer les modifications malveillantes. Cela dit, la manière dont ce jeton a pu être acquis reste inconnue à ce stade.

De plus, les commits malveillants sur « reviewdog/action-setup » auraient été effectués en forçant d’abord le référentiel correspondant, en y appliquant des modifications, puis en créant une demande d’extraction de fork vers le référentiel d’origine et en introduisant finalement des commits arbitraires – un scénario appelé un commit suspendu.

« L’attaquant a pris des mesures importantes pour dissimuler ses traces en utilisant diverses techniques, comme l’exploitation de commits suspendus, la création de plusieurs comptes utilisateurs GitHub temporaires et l’obscurcissement de ses activités dans les journaux de workflow (notamment lors de l’attaque initiale contre Coinbase) », a déclaré Gil, responsable de recherche senior chez Palo Alto Networks, à The Hacker News. « Ces résultats indiquent que l’attaquant est hautement qualifié et possède une connaissance approfondie des menaces de sécurité CI/CD et des tactiques d’attaque. »

L’unité 42 a émis l’hypothèse que le compte utilisateur derrière la demande d’extraction de fork, « iLrmKCu86tjwp8 », aurait pu être caché au public après que l’attaquant soit passé d’une adresse e-mail légitime fournie lors de l’inscription à une adresse e-mail jetable (ou anonyme) en violation de la politique de GitHub.

Cela aurait pu entraîner le masquage de toutes les interactions et actions effectuées par l’utilisateur. Cependant, contacté pour un commentaire, GitHub n’a ni confirmé ni infirmé cette hypothèse, mais a indiqué qu’il étudiait activement la situation et prenait les mesures nécessaires.

« Il n’existe actuellement aucune preuve suggérant une compromission de GitHub ou de ses systèmes. Les projets mis en évidence sont des projets open source gérés par les utilisateurs », a déclaré un porte-parole de GitHub à The Hacker News.

/>

GitHub continue d’examiner et de prendre des mesures suite aux signalements d’utilisateurs concernant le contenu du référentiel, y compris les logiciels malveillants et autres attaques malveillantes, conformément à ses politiques d’utilisation acceptable . Les utilisateurs doivent toujours consulter GitHub Actions ou tout autre package utilisé dans leur code avant de mettre à jour leur code. Cela reste vrai ici comme dans tous les autres cas d’utilisation de code tiers.

Une recherche plus approfondie des forks GitHub de tj-actions/changed-files a permis de découvrir deux autres comptes, « 2ft2dKo28UazTZ » et « mmvojwip », tous deux supprimés de la plateforme. Ces deux comptes ont également créé des forks de dépôts liés à Coinbase, tels que onchainkit, agentkit et x402.

Un examen plus approfondi a révélé que les comptes ont modifié le fichier « changelog.yml » dans le référentiel agentkit à l’aide d’une demande d’extraction fork pour pointer vers une version malveillante de « tj-actions/changed-files » publiée précédemment à l’aide du PAT.

On pense que l’attaquant a obtenu un jeton GitHub avec des autorisations d’écriture sur le référentiel agentkit – facilitées à leur tour par l’exécution des actions GitHub tj-actions/changed-files – afin d’effectuer les modifications non autorisées.

Un autre aspect important qui mérite d’être souligné est la différence dans les charges utiles utilisées dans les deux cas, indiquant des tentatives de la part de l’attaquant de rester sous le radar.

« L’attaquant a utilisé différentes charges utiles à différentes étapes de l’attaque. Par exemple, lors de l’attaque généralisée, il a vidé la mémoire du runner et imprimé les secrets stockés sous forme de variables d’environnement dans le journal du workflow, quel que soit le workflow en cours d’exécution », a expliqué Gil.

« Cependant, en ciblant Coinbase, l’attaquant a spécifiquement récupéré le GITHUB_TOKEN et s’est assuré que la charge utile ne s’exécuterait que si le référentiel appartenait à Coinbase. »

L’objectif final de la campagne est actuellement inconnu. Il est fortement suspecté que l’objectif était un gain financier, probablement une tentative de vol de cryptomonnaies, compte tenu du ciblage très précis de Coinbase, a souligné Gil. Le 19 mars 2025, la plateforme d’échange de cryptomonnaies avait remédié à l’attaque.

On ne sait pas non plus clairement ce qui a poussé l’attaquant à changer de stratégie, transformant ce qui était initialement une attaque ciblée en une campagne à grande échelle et moins furtive.

« Une hypothèse est qu’après avoir réalisé qu’ils ne pouvaient pas utiliser leur jeton pour empoisonner le référentiel Coinbase – et après avoir appris que Coinbase avait détecté et atténué l’attaque – l’attaquant a craint de perdre l’accès à l’action tj-actions/changed-files », a déclaré Gil.

« Comme la compromission de cette action pouvait donner accès à de nombreux autres projets, ils ont peut-être décidé d’agir rapidement. Cela pourrait expliquer pourquoi ils ont lancé cette attaque à grande échelle seulement 20 minutes après que Coinbase a atténué son exposition, malgré le risque accru de détection. »

01 / DISCUSSION

Commentaires

02 / CONTINUER

Les derniers articles

CERT-FR CERTFR-2026-ALE-015 ALERTE [MàJ] Vulnérabilité dans OpenSSH (05 novembre 2026) 05/11/2026 ◆ NVD CVE-2026-88813 N/A The YITH WooCommerce Gift Cards WordPress plugin through 4.39.0 does… 11/11/2026 ◆ CISA KEV CVE-2026-124194 EXPLOITÉE Microsoft Office Outlook Missing User Interaction for Potentially Unsafe Action… 10/11/2026 ◆ EXPLOIT-DB CVE-2026-109618 EXPLOIT PUBLIC [remote] PHP2Shell (CVE-2026-109618) - PHP core versions after v5.4 -… 22/10/2026 ◆ CERT-FR CERTFR-2026-ALE-014 ALERTE [Màj] Multiples vulnérabilités dans PHP (21 octobre 2026) 21/10/2026 ◆ NVD CVE-2026-123705 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-111793 EXPLOITÉE Openwave Messaging Limited Webtop Media Transcoder Incorrect Resource Transfer Between… 10/11/2026 ◆ EXPLOIT-DB EDB-52696 EXPLOIT PUBLIC [remote] Edimax BR-6478AC firmware v2.20 - authenticated command injection 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-013 ALERTE [MàJ] Multiples vulnérabilités dans Ivanti Connect Secure (ICS) (14 octobre… 14/10/2026 ◆ NVD CVE-2026-123704 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-20320 EXPLOITÉE Cisco BroadWorks Improper Restriction of XML External Entity Reference Vulnerability 10/11/2026 ◆ EXPLOIT-DB EDB-52697 EXPLOIT PUBLIC [webapps] Automotive Shop Management System 1.0 - SQLi 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-012 ALERTE Incident de sécurité ciblant les contrôleurs à distance des installations… 12/10/2026 ◆ NVD CVE-2026-123703 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-111560 EXPLOITÉE Barracuda Networks Multiple Products OS Command Injection Vulnerability 10/11/2026 ◆ EXPLOIT-DB EDB-52698 EXPLOIT PUBLIC [webapps] Open eClass 3.15 - RCE 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-011 ALERTE Multiples vulnérabilités dans Citrix NetScaler ADC et Gateway (28 septembre… 28/09/2026 ◆ NVD CVE-2026-123702 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-116606 EXPLOITÉE Barracuda Networks Email Security Gateway (ESG) Authentication Bypass Using an… 10/11/2026 ◆ EXPLOIT-DB EDB-52699 EXPLOIT PUBLIC [webapps] Keycloak 26.7.2 - Unauthenticated Account Takeover 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-010 ALERTE Vulnérabilité dans Metabase (10 septembre 2026) 10/09/2026 ◆ NVD CVE-2026-123701 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-125350 EXPLOITÉE Google Chromium Use-After-Free Vulnerability 10/11/2026 ◆ EXPLOIT-DB EDB-52700 EXPLOIT PUBLIC [remote] Synametrics Syncrify 6.2 - command execution 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-009 ALERTE Multiples vulnérabilités dans SonicWall Secure Mobile Access (02 septembre 2026) 02/09/2026 ◆ NVD CVE-2026-123700 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-102895 EXPLOITÉE GPUStack Improper Authentication Vulnerability 09/11/2026 ◆ EXPLOIT-DB EDB-52701 EXPLOIT PUBLIC [remote] South River Technologies Titan MFT Server 26.0.0 - code… 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-015 ALERTE [MàJ] Vulnérabilité dans OpenSSH (05 novembre 2026) 05/11/2026 ◆ NVD CVE-2026-88813 N/A The YITH WooCommerce Gift Cards WordPress plugin through 4.39.0 does… 11/11/2026 ◆ CISA KEV CVE-2026-124194 EXPLOITÉE Microsoft Office Outlook Missing User Interaction for Potentially Unsafe Action… 10/11/2026 ◆ EXPLOIT-DB CVE-2026-109618 EXPLOIT PUBLIC [remote] PHP2Shell (CVE-2026-109618) - PHP core versions after v5.4 -… 22/10/2026 ◆ CERT-FR CERTFR-2026-ALE-014 ALERTE [Màj] Multiples vulnérabilités dans PHP (21 octobre 2026) 21/10/2026 ◆ NVD CVE-2026-123705 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-111793 EXPLOITÉE Openwave Messaging Limited Webtop Media Transcoder Incorrect Resource Transfer Between… 10/11/2026 ◆ EXPLOIT-DB EDB-52696 EXPLOIT PUBLIC [remote] Edimax BR-6478AC firmware v2.20 - authenticated command injection 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-013 ALERTE [MàJ] Multiples vulnérabilités dans Ivanti Connect Secure (ICS) (14 octobre… 14/10/2026 ◆ NVD CVE-2026-123704 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-20320 EXPLOITÉE Cisco BroadWorks Improper Restriction of XML External Entity Reference Vulnerability 10/11/2026 ◆ EXPLOIT-DB EDB-52697 EXPLOIT PUBLIC [webapps] Automotive Shop Management System 1.0 - SQLi 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-012 ALERTE Incident de sécurité ciblant les contrôleurs à distance des installations… 12/10/2026 ◆ NVD CVE-2026-123703 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-111560 EXPLOITÉE Barracuda Networks Multiple Products OS Command Injection Vulnerability 10/11/2026 ◆ EXPLOIT-DB EDB-52698 EXPLOIT PUBLIC [webapps] Open eClass 3.15 - RCE 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-011 ALERTE Multiples vulnérabilités dans Citrix NetScaler ADC et Gateway (28 septembre… 28/09/2026 ◆ NVD CVE-2026-123702 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-116606 EXPLOITÉE Barracuda Networks Email Security Gateway (ESG) Authentication Bypass Using an… 10/11/2026 ◆ EXPLOIT-DB EDB-52699 EXPLOIT PUBLIC [webapps] Keycloak 26.7.2 - Unauthenticated Account Takeover 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-010 ALERTE Vulnérabilité dans Metabase (10 septembre 2026) 10/09/2026 ◆ NVD CVE-2026-123701 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-125350 EXPLOITÉE Google Chromium Use-After-Free Vulnerability 10/11/2026 ◆ EXPLOIT-DB EDB-52700 EXPLOIT PUBLIC [remote] Synametrics Syncrify 6.2 - command execution 21/10/2026 ◆ CERT-FR CERTFR-2026-ALE-009 ALERTE Multiples vulnérabilités dans SonicWall Secure Mobile Access (02 septembre 2026) 02/09/2026 ◆ NVD CVE-2026-123700 N/A The Security For WooCommerce WordPress plugin through 1.0.16 does not… 11/11/2026 ◆ CISA KEV CVE-2026-102895 EXPLOITÉE GPUStack Improper Authentication Vulnerability 09/11/2026 ◆ EXPLOIT-DB EDB-52701 EXPLOIT PUBLIC [remote] South River Technologies Titan MFT Server 26.0.0 - code… 21/10/2026 ◆