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.



