Biztonság

317 npm-csomag fertőzve: AI-kódoló ügynököket célzó kártevő terjed

A SafeDep biztonsági közleménye szerint egy "atool" nevű kompromittált fiók 317 npm-csomagot fertőzött meg, összesen 637 rosszindulatú kiadást publikálva, amelyeket havonta több mint 11 millió letöltés érint.

317 npm-csomag fertőzve: AI-kódoló ügynököket célzó kártevő terjed

Biztonsági kutatók jelentése szerint egy ismeretlen támadó 22 perc alatt 637 rosszindulatú kiadást publikált 317 npm-csomagban, amelyek együttesen több mint 11 millió havi letöltéssel rendelkeznek. A kompromittált fiók "atool" néven volt azonosítva, és a kiszivárgott kód a "Mini Shai-Hulud" eszközkészletből származik — ugyanabból a csomagból, amely három héttel ezelőtt az SAP-ügyletben is előfordult.

Mit csinál a kártevő?

A kártevő különösen az AI-alapú kódoló ügynökökre, például a Claude Code-ra és a Codex-re céloz. A payload beszúrja a Claude Code SessionStart és a Codex indulásakor futó hookokat, valamint Visual Studio Code feladatokat a "runOn: folderOpen" beállítással. Ezzel a támadó a fejlesztési munkafolyamat indulásakor automatikusan hozzáférhet a környezetben található titkokhoz.

A fertőzés során a kártevő a következő hitelesítő adatokat és titkos állományokat gyűjti össze:

  • AWS hitelesítő adatok
  • Kubernetes tokenek
  • SSH kulcsok
  • GitHub személyes hozzáférési tokenek (PAT)
  • 1Password és Bitwarden tárolók

Az adatlopást úgy próbálják elrejteni, hogy az exfiltrációt OpenTelemetry trace-ekként küldik, így a forgalom jobban illeszkedik a meglévő megfigyelhetőségi (observability) rendszerekhez és kevésbé tűnik fel a biztonsági eszközök számára.

Mely csomagok érintettek?

A jelentés néhány nagyobb letöltésszámú csomagot név szerint említ, amelyek közül több gyakori függőség lehet a fejlesztők projektjeiben. Például:

  • size-sensor — 4.2M havi letöltés
  • echarts-for-react — 3.8M havi letöltés
  • @antv/scale — 2.2M havi letöltés
  • timeago.js — 1.15M havi letöltés

A kutatók azt javasolják, hogy mindenki ellenőrizze a projekt lockfile-jait (például package-lock.json vagy pnpm-lock.yaml), és vizsgálja meg, hogy nem szerepelnek-e a kompromittált verziók.

Perzisztencia és C2 kommunikáció

A malware perzisztenciát is létrehoz: egy LaunchAgent vagy systemd szolgáltatásként "kitty-monitor" néven települ, amely újraindítások után is megmarad. A támadó a GitHub commit-keresést használja dead-drop C2 csatornaként, ahol RSA-PSS-sel aláírt parancsokat poll-ol a fertőzött gép.

Mit tehetnek a fejlesztők és rendszergazdák?

A SafeDep közzétette a teljes listát mind a 317 kompromittált csomagról, a deobfuszkált payloadokról és a helyreállítási lépésekről. A kutatók javasolják a következőket:

  • Ellenőrizni és frissíteni a lockfile-okat és függőségeket
  • Átvizsgálni a rendszert ellopott hitelesítő adatok vagy ismeretlen szolgáltatások után
  • Figyelni a VS Code és AI-ügynökök integrációit, különösen automatikus indulásnál
  • Vizsgálni a hálózati forgalmat OpenTelemetry trace-ek kontextusában

A SafeDep részletes IoC- és javítási útmutatót tett közzé, amelyet a szervezeteknek érdemes követniük a fertőzés felméréséhez és eltávolításához.

Összegzés

Rövid idő alatt, 22 perc alatt végrehajtott tömeges kompromittálás történt npm-csomagokban, a támadás egy AI-kódoló ügynököket célzó payloadot telepített, és széles körű hitelesítő adat- és titoklopást próbált meg. A SafeDep által közzétett lista és iránymutatás kulcsfontosságú a gyors reagáláshoz és a megelőző lépésekhez.