Poisoned Ruby Gems and Go Modules Exploit CI Pipelines for Credential Theft
Mis à jour :
Compromission de la chaîne d’approvisionnement logicielle via des paquets malveillants
Une campagne malveillante identifiée sous le compte GitHub « BufferZoneCorp » exploite des paquets Ruby et des modules Go corrompus pour infiltrer les environnements de développement et les pipelines d’intégration continue (CI). Ces bibliothèques usurpent l’identité de composants légitimes pour tromper les développeurs et s’exécuter lors de l’installation ou de la compilation.
Points clés :
- Technique « Sleeper » : Certains paquets agissent comme des agents dormants, attendant d’être déployés pour activer leur charge utile.
- Vol de données : Les paquets Ruby ciblent les variables d’environnement, les clés SSH, les accès AWS et divers fichiers de configuration (
.npmrc,.netrc). - Manipulation CI/CD : Les modules Go altèrent les workflows GitHub Actions en substituant des exécutables légitimes par des « wrappers » malveillants, permettant d’intercepter les processus tout en conservant la fonctionnalité apparente du programme.
- Persistance : L’ajout de clés publiques SSH malveillantes dans
~/.ssh/authorized_keysassure aux attaquants un accès distant aux hôtes compromis. - Exfiltration : Les données volées sont envoyées vers des terminaux externes (ex: Webhook.site).
Vulnérabilités : Aucune CVE spécifique n’a été attribuée à cette campagne, car il s’agit d’une attaque par injection de code malveillant dans des dépendances (Supply Chain Attack) et non d’une exploitation de faille logicielle standard.
Recommandations :
- Suppression : Désinstaller immédiatement les paquets mentionnés (ex:
knot-activesupport-logger,go-metrics-sdk, etc.). - Audit de sécurité : Vérifier l’intégrité du fichier
~/.ssh/authorized_keyset inspecter les logs réseau à la recherche de connexions suspectes vers des serveurs externes. - Rotation des secrets : Considérer comme compromis tous les secrets (AWS, clés SSH, jetons GitHub) présents sur les machines ou environnements CI ayant utilisé ces paquets et procéder à leur réinitialisation complète.
- Surveillance : Analyser les changements inhabituels dans les configurations des workflows GitHub Actions.
