Outil Python pour l'analyse de données, fonctionnant à moitié du jour, est devenu malveillant : il a volé des clés et des jetons.
Un cybercriminel a publié une version malveillante du paquet elementary‑data sur PyPI
Un attaquant inconnu a téléchargé une version modifiée 0.23.3 de l’utilitaire *elementary-data* – un outil de surveillance des données – dans le dépôt PyPI. Le paquet malveillant collectait et envoyait vers un serveur distant des informations confidentielles : clés SSH, identifiants AWS, jetons API, ainsi que des fichiers de portefeuilles de crypto‑monnaies (Bitcoin, Litecoin, Dogecoin, Ethereum). Les données recueillies étaient emballées dans l’archive `trin.tar.gz` et transmises à l’agresseur.
Comment l’accès au dépôt a été obtenu
L’attaquant a exploité une vulnérabilité dans un des workflows GitHub Actions du projet *elementary‑data*. En obtenant automatiquement le token `GITHUB_TOKEN`, il a créé une pull request où il a remplacé le paquet d’origine par la version malveillante. Grâce au workflow automatique, la PR a été acceptée et la version infectée publiée.
Période de présence du paquet malveillant
- 25 avril, 02:20 (MSK) – l’agresseur a téléchargé la version malveillante sur PyPI.
- 02:24 – il a également publié une image Docker infectée dans GitHub Container Registry, élargissant ainsi le spectre des attaques.
- 13:45 de ce jour – les administrateurs du projet ont supprimé tous les fichiers compromis et publié une version propre 0.23.4.
Ainsi, le paquet malveillant était disponible pour les utilisateurs pendant plus de 11 heures, offrant une fenêtre d’exposition aux fuites de données.
Composants touchés
Les développeurs ont confirmé que les autres parties de l’écosystème – *Elementary dbt*, les ressources Elementary Cloud et les autres versions du projet – n’ont pas été affectées par l’incident.
Que faire pour les utilisateurs
1. Supprimez la version 0.23.3 infectée et installez la release sécurisée 0.23.4.
2. Nettoyez le cache des paquets (`pip cache purge` ou outil équivalent).
3. Supprimez le fichier‑marqueur `.trinny-security-update`, s’il est présent – sa présence indique l’exécution de code malveillant.
Mesures prises par les développeurs
- Le token de publication PyPI a été mis à jour.
- Les tokens GitHub et GitHub Container Registry ont été revus et renouvelés.
- Le workflow vulnérable dans GitHub Actions a été supprimé ; les autres workflows ont été vérifiés pour la sécurité.
Ainsi, l’équipe *elementary‑data* a repris le contrôle du dépôt et assuré la protection des utilisateurs contre de futures menaces.
Commentaires (0)
Partagez votre avis — merci de rester courtois et dans le sujet.
Connectez-vous pour commenter