Over 400 AUR Packages Compromised With Info Stealer
Une attaque massive ciblant des paquets orphelins de l’AUR a injecté un voleur d’informations via des scripts post-installation npm, touchant plus de 400 paquets en 48 heures, mais avec un impact limité grâce à une détection rapide.

SYNTHÈSE STRUCTURÉE
Contexte de l’attaque
L’intervenant décrit une compromission coordonnée de paquets sur l’AUR (Arch User Repository). Plus de 400 paquets orphelins (sans mainteneur) ont été modifiés pour inclure un script malveillant. « It is a bad day to be an Arch Linux user. It is a worse day to be an AUR moderator. » L’attaque exploite la faiblesse fondamentale de l’AUR : l’absence de contrôle sur l’adoption des paquets orphelins.
Mécanisme de la compromission
Chaque paquet modifié suivait le même schéma :
- Ajout d’un nouveau mainteneur
- Modification du champ
contributoravec une adresse email différente - Ajout d’une dépendance inutile :
npm - Insertion d’un script post-installation exécutant
atomic-lock-file
L’intervenant souligne : « They would add a new maintainer of the package. It would modify the contributor tag with a different email. It would add a new dependency in this case being npm and then have a post install where it was installing something called atomic lock file. » Ce paquet npm, publié quelques jours avant, a été rapidement identifié comme malveillant par npm lui-même.
Détection et vérification
Pour savoir si vous êtes affecté, l’intervenant propose plusieurs méthodes :
- Vérifier la date de mise à jour : « Have you updated within the last 48 hours, specifically updated your AUR packages? If no, you’re fine. »
- Utiliser
pacman -Qi <paquet>pour consulter la date de construction et d’installation - Rechercher dans le cache AUR :
grep -r "atomic-lock-file" ~/.cache/yay/ou~/.cache/paru/ - Un script automatisé listant tous les paquets connus est disponible sur des forums comme Cache
L’intervenant précise : « If it is not one of the known packages you’re most likely going to be fine. » Mais il recommande la prudence.
Impact et nombre de victimes
Seulement 317 téléchargements du paquet malveillant ont été enregistrés. L’intervenant explique : « This wasn’t a crazy supply chain attack. This was basically abusing the AUR’s power against it. » Les paquets orphelins étant peu utilisés, l’impact est limité. Cependant, le vecteur d’attaque reste ouvert : « There’s 15,000 packages which are orphaned. All of these, if somebody wanted to right now, they could just spin up 15,000 accounts and just compromise every single one of them. »
Analyse du malware et recommandations post-infection
Le malware est un voleur d’informations avec capacités de rootkit eBPF. L’intervenant liste des actions critiques :
- Traiter tout hôte ayant exécuté le binaire comme compromis
- Inspecter les unités systemd pour des services avec
Restart=alwaysetRestartSec=30 - Vérifier les connexions sortantes vers
temp.shetpost/upload - Examiner les logs proxy HTTP pour ces domaines
- Analyser les caches npm, AUR et CI pour
atomic-lock-file - Rechercher des fichiers ELF inattendus dans les sources de paquets
« Treat any host with the ELF executed as credential compromised. Preserve evidence with trusted offline acquisition where possible. » Il insiste sur la rotation de tous les identifiants : mots de passe, tokens, clés privées.
Évolution de l’attaque
Pendant l’enregistrement, l’intervenant note une nouvelle vague utilisant bun au lieu de npm : « The searches we were doing specifically were looking for random npms being added in the packages. So, stop using npm. Go use a different thing. » Les attaquants adaptent leur technique pour contourner les signatures de détection.
Recommandations immédiates pour les utilisateurs
L’intervenant conseille de ne pas mettre à jour les paquets AUR pendant quelques jours : « My current recommendation is if you’re not entirely sure about what is safe and what is not safe, just don’t update any AUR packages over the next couple of days. » Il critique l’absence de communication officielle d’Arch Linux : « The Arch team, as it currently stands, has not actually made any sort of public announcement on the news feed, which I think is dumb. »
Propositions pour sécuriser l’AUR
Plusieurs pistes sont évoquées :
- Mettre l’AUR en lecture seule temporairement (proposition jugée « trop nucléaire » par certains)
- Exiger un âge minimum pour les comptes avant d’adopter un paquet
- Introduire un système de vérification humaine pour les nouveaux mainteneurs
- Archiver les paquets orphelins anciens plutôt que de les laisser adoptables sans contrôle
L’intervenant résume : « At a bare minimum, I think there should be at least not being able to spin up an account and then immediately adopt a package. »
Bonnes pratiques pour l’avenir
L’intervenant rappelle l’importance de vérifier systématiquement les fichiers PKGBUILD avant installation : « As long as you inspect package builds and verify the changes are all right, you can keep updating. The problem is a lot of people are not checking their package builds. » Il mentionne que Chaotic AUR, qui vérifie chaque build, n’a pas été touché.
CONCEPTS CLÉS
- Paquet orphelin : Paquet AUR sans mainteneur actif, pouvant être adopté automatiquement par n’importe quel utilisateur
- Atomic-lock-file : Paquet npm malveillant servant de vecteur d’infection, identifié comme voleur d’informations
- Rootkit eBPF : Technique d’attaque avancée permettant de cacher des processus et des connexions réseau
- AUR (Arch User Repository) : Dépôt communautaire de paquets non officiels pour Arch Linux, avec des contrôles de qualité très limités
CONCLUSION
Cette attaque révèle une faille structurelle de l’AUR : l’adoption automatique des paquets orphelins sans aucune vérification. Bien que l’impact soit limité (317 téléchargements), le vecteur reste ouvert et pourrait être exploité massivement. L’intervenant insiste sur la nécessité d’une réforme urgente : « This genie is not going back in the bottle. » En attendant, la seule protection fiable est de vérifier manuellement chaque PKGBUILD avant installation, ou d’utiliser des dépôts comme Chaotic AUR qui effectuent cette vérification. La leçon principale : ne jamais faire confiance aveuglément à l’AUR, même pour des paquets apparemment inoffensifs.