OpenAI révoque les certificats d'applications macOS après une attaque de la chaîne d'approvisionnement Axios
**OpenAI** a récemment révélé qu'une version compromise de la bibliothèque **Axios** avait été téléchargée par inadvertance lors de son processus de signature d'applications macOS. Bien qu'aucune donnée utilisateur ni aucun système interne n'aient été compromis, **OpenAI** révoque et fait pivoter ses certificats d'applications macOS par mesure de précaution. Cet incident souligne les risques croissants associés aux attaques de la chaîne d'approvisionnement ciblant les écosystèmes open source.

**OpenAI** a révélé qu'un workflow **GitHub Actions** utilisé pour signer ses applications macOS a conduit au téléchargement de la bibliothèque malveillante **Axios** le 31 mars. La société a déclaré : « Par mesure de prudence, nous prenons des mesures pour protéger le processus qui certifie que nos applications macOS sont des applications légitimes d'**OpenAI**. Nous n'avons trouvé aucune preuve que les données des utilisateurs d'**OpenAI** aient été consultées, que nos systèmes ou notre propriété intellectuelle aient été compromis, ou que notre logiciel ait été modifié. »
Cette divulgation fait suite à une attribution du **Google Threat Intelligence Group (GTIG)**, reliant le compromis de la chaîne d'approvisionnement du package **npm** **Axios** au groupe de piratage nord-coréen **UNC1069**.
### Détails du compromis Axios
L'attaque a impliqué le piratage du compte **npm** du mainteneur du package pour pousser deux versions empoisonnées, 1.14.1 et 0.30.4. Ces versions contenaient une dépendance malveillante nommée « plain-crypto-js », qui déployait une porte dérobée multiplateforme appelée WAVESHAPER.V2 ciblant les systèmes Windows, macOS et Linux.
**OpenAI** a confirmé que son workflow **GitHub Actions**, dans le cadre de son processus de signature d'applications macOS, avait téléchargé et exécuté la version 1.14.1 d'**Axios**. Ce workflow avait accès à un certificat et à du matériel de notarisation utilisés pour signer ChatGPT Desktop, Codex, Codex CLI et Atlas.
« Notre analyse de l'incident a conclu que le certificat de signature présent dans ce workflow n'a probablement pas été exfiltré avec succès par la charge utile malveillante en raison du calendrier d'exécution de la charge utile, de l'injection du certificat dans le job, de la séquence du job lui-même et d'autres facteurs atténuants », a déclaré la société.
### Révocation et impact des certificats
Malgré l'absence de preuves d'exfiltration de données, **OpenAI** considère le certificat comme compromis, le révoquant et le faisant pivoter. Par conséquent, les anciennes versions de toutes ses applications de bureau macOS ne recevront plus de mises à jour ni de support à partir du 8 mai 2026. Les applications signées avec le certificat précédent seront bloquées par défaut par les protections de sécurité de macOS, les empêchant d'être téléchargées ou lancées.
Les premières versions signées avec leur certificat mis à jour sont :
* ChatGPT Desktop - 1.2026.071
* Codex App - 26.406.40811
* Codex CLI - 0.119.0
* Atlas - 1.2026.84.2
**OpenAI** collabore également avec **Apple** pour garantir que les logiciels signés avec l'ancien certificat ne puissent pas être nouvellement notariés. La fenêtre de 30 jours jusqu'au 8 mai 2026 vise à minimiser les perturbations pour les utilisateurs et à laisser suffisamment de temps pour les mises à jour.
**OpenAI** a déclaré : « Dans le cas où le certificat aurait été compromis avec succès par un acteur malveillant, celui-ci pourrait l'utiliser pour signer son propre code, le faisant apparaître comme un logiciel légitime d'**OpenAI**. Nous avons arrêté les nouvelles notarisations de logiciels utilisant l'ancien certificat, de sorte que les nouveaux logiciels signés avec l'ancien certificat par un tiers non autorisé seraient bloqués par défaut par les protections de sécurité de macOS, à moins qu'un utilisateur ne les contourne explicitement. »
### Deux attaques de la chaîne d'approvisionnement secouent mars
La violation d'**Axios** était l'une des deux attaques majeures de la chaîne d'approvisionnement en mars ciblant l'écosystème open source. L'autre incident a ciblé **Trivy**, un scanner de vulnérabilités maintenu par **Aqua Security**, entraînant des impacts en cascade sur cinq écosystèmes, affectant de nombreuses bibliothèques populaires qui en dépendent.
L'attaque, attribuée au groupe cybercriminel **TeamPCP** (alias UNC6780), a déployé un voleur d'identifiants nommé SANDCLOCK pour extraire des données sensibles des environnements de développeurs. Les identifiants volés ont ensuite été utilisés pour compromettre des packages **npm** et pousser un ver auto-propagateur nommé CanisterWorm.
Quelques jours plus tard, des secrets dérobés lors de l'intrusion **Trivy** ont été utilisés pour injecter le même malware dans deux workflows **GitHub Actions** maintenus par **Checkmarx**. Les attaquants ont ensuite publié des versions malveillantes de **LiteLLM** et **Telnyx** sur le Python Package Index (PyPI), qui utilisent tous deux **Trivy** dans leur pipeline CI/CD.
**Trend Micro** a noté : « Le compromis de **Telnyx** indique un changement continu dans les techniques utilisées dans l'activité de la chaîne d'approvisionnement de **TeamPCP**, avec des ajustements aux outils, aux méthodes de livraison et à la couverture des plateformes », dans une analyse de l'attaque.
« En seulement huit jours, l'acteur a pivoté à travers des scanners de sécurité, l'infrastructure d'IA, et maintenant des outils de télécommunications, faisant évoluer sa livraison de Base64 en ligne à l'auto-exécution .pth, et finalement à la stéganographie WAV en fichiers séparés, tout en s'étendant du ciblage Linux uniquement à un ciblage biplateforme avec persistance Windows. »
Sur les systèmes Windows, le piratage a entraîné le déploiement d'un exécutable nommé « msbuild.exe » qui utilise des techniques d'obfuscation pour échapper à la détection et extrait DonutLoader, un chargeur de shellcode, d'une image PNG dans le binaire pour charger un cheval de Troie complet et une balise associée à AdaptixC2, un framework de commande et de contrôle (C2) open source.
Des analyses supplémentaires de la campagne, désormais identifiée comme **CVE-2026-33634**, ont été publiées par divers fournisseurs de cybersécurité :
* [**CrowdStrike**](https://www.crowdstrike.com/en-us/blog/from-scanner-to-stealer-inside-the-trivy-action-supply-chain-compromise/)
* [FUTURESEARCH](https://futuresearch.ai/blog/no-prompt-injection-required/)
* [Hexastrike](https://hexastrike.com/resources/blog/threat-intelligence/ringing-in-chaos-how-teampcp-weaponized-the-telnyx-python-sdk/)
* [Kudelski Security](https://kudelskisecurity.com/research/investigating-two-variants-of-the-trivy-supply-chain-compromise)
* [**Microsoft**](https://www.microsoft.com/en-us/security/blog/2026/03/24/detecting-investigating-defending-against-trivy-supply-chain-compromise/)
* [OpenSourceMalware](https://opensourcemalware.com/blog/teampcp-supply-chain-campaign)
* [Palo Alto Networks Unit 42](https://unit42.paloaltonetworks.com/teampcp-supply-chain-attacks/)
* [ReversingLabs](https://www.reversinglabs.com/blog/teampcp-supply-chain-attack-spreads)
* [SOCRadar](https://socradar.io/blog/teampcp-checkmarx-github-actions-attack/)
* [Sonatype](https://www.sonatype.com/blog/compromised-litellm-pypi-package-delivers-multi-stage-credential-stealer)
* [StepSecurity](https://www.stepsecurity.io/blog/litellm-credential-stealer-hidden-in-pypi-wheel)
* [Snyk](https://snyk.io/blog/poisoned-security-scanner-backdooring-litellm/)
* [Trend Micro](https://www.trendmicro.com/en_us/research/26/c/inside-litellm-supply-chain-compromise.html)
* [TRUESEC](https://www.truesec.com/hub/blog/malicious-pypi-package-litellm-supply-chain-compromise)
* [Wiz](https://www.wiz.io/blog/threes-a-crowd-teampcp-trojanizes-litellm-in-continuation-of-campaign)
La frénésie de compromis de la chaîne d'approvisionnement de **TeamPCP** est peut-être terminée, mais le groupe s'est depuis concentré sur la monétisation des récoltes d'identifiants existantes en s'associant à d'autres groupes motivés financièrement comme Vect, LAPSUS$ et ShinyHunters. Les preuves indiquent que l'acteur de la menace a également lancé une opération de ransomware propriétaire sous le nom de CipherForce.