Trivy vulnerability scanner breach pushed infostealer via GitHub Actions
Mis à jour :
Compromission de la chaîne d’approvisionnement : Attaque sur Trivy par TeamPCP
Le scanner de vulnérabilités Trivy (Aqua Security) a été victime d’une attaque sophistiquée par le groupe « TeamPCP », exploitant des accès non révoqués suite à un incident précédent. Les attaquants ont compromis le processus de build GitHub et l’intégralité des tags du dépôt trivy-action, injectant un logiciel malveillant (infostealer) visant à dérober des identifiants et des secrets dans les environnements CI/CD.
Points clés :
- Mode opératoire : Les attaquants ont substitué le script
entrypoint.shpar une version malveillante et publié des binaires piégés dans la version 0.69.4. - Persistence : Le malware installe un service
systemd(sysmon.py) pour maintenir l’accès. - Exfiltration : Les données volées (clés SSH, tokens cloud, fichiers
.env, historiques shell, etc.) sont chiffrées et envoyées vers un serveur C2 ou stockées dans un dépôt GitHub public (tpcp-docs) en cas d’échec. - Propagations secondaires : Le groupe a déployé « CanisterWorm », un ver auto-réplicable ciblant les paquets npm en utilisant des tokens volés et une infrastructure décentralisée (Internet Computer).
Vulnérabilités :
- L’attaque ne repose pas sur une CVE spécifique dans le code source de Trivy, mais sur une compromission de la chaîne d’approvisionnement (Supply Chain Attack) facilitée par une mauvaise gestion de la révocation des secrets suite à une brèche initiale le 1er mars 2026.
Recommandations :
- Réponse immédiate : Considérer tous les environnements ayant utilisé les versions compromises de Trivy (notamment la v0.69.4 et les actions GitHub associées) comme totalement compromis.
- Rotation des secrets : Révoquer et renouveler immédiatement tous les secrets potentiellement exposés : clés AWS/GCP/Azure, tokens API (Slack, Discord, npm, Vault), clés SSH, mots de passe de bases de données et tokens CI/CD.
- Audit système : Rechercher la présence du script malveillant à l’emplacement
~/.config/systemd/user/sysmon.pyet vérifier les logs d’activité pour toute communication vers des domaines suspects. - Durcissement CI/CD : Appliquer une rotation stricte et atomique des secrets lors de tout incident de sécurité et auditer les permissions d’accès au dépôt GitHub.
