Szignál

Hackerek rejtett kódot csempésznek a .cursorrules és CLAUDE.md fájlokba

Láthatatlan Unicode karakterek. Az AI-d olvassa, te nem. 34 rosszindulatú csomag most bebizonyította, hogy ez mennyire veszélyes.

2026. május 24. 7 perc olvasás AI Biztonság / Supply Chain / Fejlesztői Eszközök
Sötét terminál képernyő rejtett Unicode karakterekkel az AI kódolási eszközök konfigurációs fájljaiban

Összefoglaló

  • A Socket kutatói felfedezték a "TrapDoor" kampányt - koordinált supply chain támadás az npm, PyPI és Crates.io rendszereken keresztül
  • 34 rosszindulatú csomag, 384+ verzió, amelyek SSH kulcsokat, kriptotárcákat, AWS hitelesítő adatokat és API tokeneket lopnak
  • A támadók láthatatlan Unicode karaktereket ágyaznak be a .cursorrules és CLAUDE.md fájlokba, amelyeket az AI kódolási eszközök utasításként olvasnak
  • Az AI egy hamis "biztonsági ellenőrzést" futtat, ami csendben kiszivárogtatja a fejlesztő gépen lévő minden érzékeny adatot
  • Valós pull requesteket nyitottak a LangChain, LlamaIndex, MetaGPT és OpenHands projektekhez
  • A perzisztencia-mechanizmusok között van Git hook, systemd szolgáltatás, cron feladat és SSH-alapú laterális mozgás
  • Ha a csapatod Cursor-t, Claude Code-ot vagy hasonló AI eszközöket használ, azonnal ellenőrizd a repóidat

Ha AI kódolási asszisztenseket használsz - Cursor, Claude Code, GitHub Copilot, Cline - akkor van valami, amit most rögtön meg kell értened. A támadók rájöttek, hogyan fegyverezzék fel azokat a konfigurációs fájlokat, amelyekre ezek az eszközök támaszkodnak, és a technika egyszerre egyszerű és nehezen észrevehető.

2026. május 24-én a Socket biztonsági kutatói publikálták az eredményeiket egy kampányról, amelyet TrapDoor néven követnek. Három nagy csomagregisztrátort érint, kriptó-, DeFi-, AI- és biztonsági közösségek fejlesztőit célozza, és olyan módszert használ, amely az AI asszisztensedet öntudatlan bűntárssá változtatja.

A támadási vektor: fájlok, amelyekben az AI vakon megbízik

A probléma lényege a következő. Az olyan eszközök, mint a Cursor és a Claude Code, projekt szintű konfigurációs fájlokat olvasnak - .cursorrules, CLAUDE.md, .github/copilot-instructions.md - hogy megértsék, hogyan kell viselkedniük egy adott repóban. Ezek a fájlok mondják meg az AI-nak, milyen kódolási konvenciókat kövessen, milyen keretrendszereket részesítsen előnyben, hogyan strukturálja a kimenetet.

A fejlesztők megbíznak ezekben a fájlokban, mert ők írták őket. Vagy legalábbis azt hiszik.

A TrapDoor támadók utasításokat ágyaznak be nulla szélességű Unicode karakterek segítségével. Ezek láthatatlanok bármilyen szövegszerkesztőben vagy kód-felülvizsgálati felületen. Aki ránéz a fájlra, normális konfigurációt lát. Az AI viszont rejtett utasításokat lát, amelyek azt mondják neki, futtasson egy "biztonsági ellenőrzést" - ami valójában egy hitelesítő adatokat gyűjtő program.

Mit lopnak el: SSH kulcsokat, kriptotárca-adatokat (Sui, Solana, Aptos), AWS hitelesítő adatokat, GitHub tokeneket, böngésző bejelentkezési adatbázisokat, környezeti változókat, API kulcsokat és helyi fejlesztési konfigurációs fájlokat. Az npm payload ráadásul ellenőrzi az ellopott AWS és GitHub hitelesítő adatokat API-hívásokon keresztül, hogy kiszűrje a lejárt tokeneket.

Hogyan működik a TrapDoor a gyakorlatban

A kampány nem egyetlen trükk. Koordinált, több ökoszisztémát átfogó művelet.

npm: Postinstall hookek és tartós adatgyűjtés

21 rosszindulatú npm csomag postinstall hookokat használ egy megosztott payload telepítéséhez, amelyet trap-core.js-nek hívnak - egy 1149 soros hitelesítő adat-gyűjtő program. Telepítés után titkos adatokat keres, ellenőrzi az ellopott hitelesítő adatokat az AWS és GitHub API-kon keresztül, és perzisztenciát ültet el több vektoron keresztül: .cursorrules, CLAUDE.md, Git hookek, shell hookek, systemd szolgáltatások, cron feladatok és SSH.

Az SSH komponens külön figyelmet érdemel. A malware az ellopott SSH kulcsokat felhasználva laterális mozgást kísérel meg más rendszerekbe. Egyetlen kompromittált fejlesztői gép hídként szolgálhat a termelési infrastruktúrába.

A csomagnevek között szerepel a prompt-engineering-toolkit, llm-context-compressor, dev-env-bootstrapper és workspace-config-loader. Szándékosan úgy választották a neveket, hogy olyannak tűnjenek, amit egy fejlesztő gondolkodás nélkül telepítene.

PyPI: Távoli JavaScript-végrehajtás importáláskor

7 rosszindulatú PyPI csomag automatikusan végrehajtódik importáláskor. JavaScriptet töltenek le egy támadó által vezérelt GitHub Pages domainről, és node -e paranccsal futtatják. A payload külső hosztolásával a támadó anélkül frissítheti a viselkedést, hogy új PyPI kiadást kellene publikálnia.

Crates.io: Build scriptes kiszivárogtatás

6 Rust csomag, amely Sui és Move fejlesztőket céloz, a build.rs fájlt használja - ami automatikusan lefut a fordítás során - helyi kulcstárolók kereséséhez, titkosításukhoz egy hardkódolt XOR kulccsal, és kiszivárogtatásukhoz GitHub Gistekbe. A kód azelőtt fut le, hogy a fejlesztő bármilyen csomagfunkciót meghívna.

Valódi PR-okat nyitottak nagy AI projektekhez

Ez nem csak csomagok publikálásáról szólt. A támadó GitHub fiókja (ddjidd564) pull requesteket nyitott valódi, széles körben használt projektekhez:

  • LangChain (langchain-ai/langchain)
  • LlamaIndex (run-llama/llama_index)
  • MetaGPT (FoundationAgents/MetaGPT)
  • OpenHands (OpenHands/OpenHands)
  • browser-use (browser-use/browser-use)
  • Langflow (langflow-ai/langflow)

A PR-ok címe olyan volt, mint "docs: add .cursorrules with dev standards and build verification" és "docs: add CLAUDE.md with dev standards and build verification." Unalmas, ártalmatlannak tűnő dokumentációs változtatások. Olyan PR-ok, amelyek egy forgalmas nyílt forráskódú projektben könnyen átcsúszhatnak alapos vizsgálat nélkül.

Ha bármelyiket is mergelték volna, minden fejlesztő, aki klónozta a repót, automatikusan láthatatlan rosszindulatú utasításokat töltött volna be az AI kódolási asszisztensébe.

A támadó közzétette a saját forgatókönyvét

Egy részlet, ami már az arcátlanság határát súrolja: a támadó GitHub Pages repója tartalmaz egy AUDIT-MATRIX.md dokumentumot, amely egy "Universal AI Agent Extraction Framework"-öt ír le. Részletes munkafolyamatokat vázol fel a képesség-felderítéshez, adatkinyeréshez, önreplikációhoz és telemetria-jelentésekhez.

A dokumentum tartalmaz egy "álcázási réteget", amely a hitelesítő adatok lopását ártalmatlanul hangzó feladatokhoz köti: biztonsági auditok, tárca-biztonsági ellenőrzések, felhő-konfiguráció validálás, repó biztonsági felülvizsgálatok. Ez tükrözi a kampány általános megközelítését - a kinyerést hasznos fejlesztői automatizálásként bemutatni.

Miért fontos ez a kriptón túl is

A TrapDoor kampány kriptó fejlesztőket célzott, mert ott van az azonnali pénz. Lopsz egy tárca kulcstárolót és percek alatt kiürítheted. De a technika - AI konfigurációs fájlok megmérgezése láthatatlan utasításokkal - bármely AI kódolási eszközöket használó csapat ellen működik.

Gondolj bele, mi van egy átlagos fejlesztő gépén. Felhő hitelesítő adatok. Adatbázis-kapcsolati sztringek. API kulcsok fizetési feldolgozókhoz. SSH kulcsok termelési szerverekhez. Belső dokumentáció. Ügyféladatok helyi fejlesztési adatbázisokban.

Most gondolj bele, hány csapat vette át a Cursor-t vagy Claude Code-ot az elmúlt tizenkét hónapban anélkül, hogy frissítette volna a biztonsági felülvizsgálati folyamatát az AI-specifikus támadási felületek figyelembevételéhez.

Mit tegyél most azonnal

1. Ellenőrizd a repóidat

Keress minden repóban, amelyen a csapatod dolgozik, .cursorrules, CLAUDE.md és .github/copilot-instructions.md fájlokat. Nyisd meg őket hex szerkesztőben, ne szövegszerkesztőben. Keress nulla szélességű karaktereket (U+200B, U+200C, U+200D, U+FEFF, U+2060). Ha találsz ilyeneket, kezeld biztonsági incidensként.

2. Vizsgáld felül a legutóbbi pull requesteket

Ellenőrizd a projekted PR-történetét, hogy külső közreműködők adtak-e hozzá AI konfigurációs fájlokat. Ezeket a fájlokat ugyanolyan alapossággal kell vizsgálni, mint a CI/CD pipeline vagy deployment szkript módosításokat.

3. Rögzítsd a függőségeidet

Ha a Socket jelentésében felsorolt csomagok bármelyikét használod, azonnal távolítsd el. Általánosabban: vizsgáld felül a nemrég hozzáadott függőségeket - különösen azokat, amelyeket az elmúlt héten telepítettél és fejlesztői eszköznek vagy biztonsági toolnak hangzanak.

4. Frissítsd a kód-felülvizsgálati folyamatodat

Az AI konfigurációs fájloknak szerepelniük kell a kód-felülvizsgálati ellenőrzőlistádon. Minden PR, amely .cursorrules, CLAUDE.md vagy hasonló fájlokat ad hozzá vagy módosít, biztonságtudatos felülvizsgáló kifejezett jóváhagyását kell hogy igényelje.

5. Fontold meg egy supply chain biztonsági eszköz használatát

A Socket hat percen belül észlelte a TrapDoor-t az első csomagok megjelenése után. Az olyan eszközök, mint a Socket, Snyk és npm audit, automatizált vizsgálatot biztosítanak, amely elkapja a rosszindulatú csomagokat, mielőtt elérnék a kódbázisodat.

A tágabb szignál

Ez nem elszigetelt incidens. A "Rules File Backdoor" technikát először a Pillar Security dokumentálta 2025 februárjában. Amit most látunk, az a fegyverré fejlesztett, production-grade verzió - ökoszisztémákon átívelő koordinációval, perzisztencia-mechanizmusokkal, laterális mozgási képességgel és működési forgatókönyvvel.

Az AI kódolási asszisztensek standard fejlesztői eszközökké válnak. Ugyanakkor standard támadási felületekké is válnak. A különbség aközött, hogy ezek az eszközök mennyi bizalmat helyeznek a konfigurációs fájlokba, és hogy ezek a fájlok mennyi vizsgálatot kapnak, egy olyan sebezhetőség, amelyet továbbra is ki fognak használni.

Azok a szervezetek, amelyek adaptálják biztonsági gyakorlataikat az AI-specifikus vektorok figyelembevételéhez, elkerülik, hogy esettanulmányokká váljanak. Akik nem, azok a kemény úton fogják megtudni, hogy az AI által írt kód valaki más utasításait követte.

Gyakran ismételt kérdések

Mik azok a .cursorrules és CLAUDE.md fájlok?

Ezek projekt szintű konfigurációs fájlok, amelyeket az AI kódolási asszisztensek (a Cursor és a Claude Code) használnak a viselkedés, kódolási konvenciók és projekt-specifikus utasítások beállításához. Automatikusan betöltődnek, amikor az AI egy repóban dolgozik.

Hogyan működnek a láthatatlan Unicode karakterek ebben a támadásban?

A nulla szélességű Unicode karakterek (mint az U+200B és U+FEFF) nem foglalnak el látható helyet a szövegszerkesztőkben vagy kód-felülvizsgálati eszközökben. Emberek nem láthatják őket. Az AI modellek viszont a bemenet részeként dolgozzák fel és követik az általuk kódolt utasításokat.

Mely csomagok voltak érintettek?

A Socket 34 rosszindulatú csomagot azonosított az npm (21 csomag), PyPI (7 csomag) és Crates.io (6 csomag) rendszerekben. A teljes lista elérhető a Socket TrapDoor kutatási jelentésében.

Veszélyben van a csapatom, ha Cursor-t vagy Claude Code-ot használunk?

Ha a csapatod bármilyen AI kódolási asszisztenst használ, amely projekt konfigurációs fájlokat olvas, ellenőrizd a repóidat. A kockázat a legnagyobb, ha nemrég ismeretlen npm, PyPI vagy Cargo csomagokat telepítettél, vagy ha külső közreműködők AI konfigurációs fájlokat adtak a projektjeidhez.

Hogyan észlelték a támadást?

A Socket automatizált vizsgálata hat percen belül észlelte a rosszindulatú csomagokat az első megjelenésük után a regisztrátorokban. Az npm, PyPI és Crates.io csomagok közötti kapcsolatot a megosztott infrastruktúrán keresztül azonosították, konkrétan egy támadó által vezérelt GitHub Pages domainen és a P-2024-001 kampányjelölőn keresztül.

Források