Egyetlen elhibázott npm-csomagolás rántotta le a leplet az Anthropic legfejlettebb AI-ügynökének belső működéséről, feltárva egy komplex, operációs rendszer-szerű architektúrát.
Az elmúlt napok egyik legjelentősebb IT-biztonsági és szoftverarchitektúra-incidense nem egy kifinomult hackertámadás, hanem egy banális konfigurációs hiba eredménye. Az Anthropic véletlenül publikálta a Claude Code CLI 2.1.88-as verzióját egy 59,8 MB-os JavaScript .map fájl kíséretében. A forrásleképezési fájl (source map) lehetővé tette a fejlesztők számára, hogy visszafejtsék a teljes, eredetileg obfuszkálatlan TypeScript forráskódot: mintegy 1900 fájlt és több mint 512 000 sornyi kódot.
Bár az Anthropic gyorsan reagált és eltávolította a csomagot, a tükrözések már szétterjedtek a GitHubon, a közösség pedig azonnal nekilátott a „boncolásnak”. Ami a felszínre került, az messze túlmutat egy egyszerű LLM-wrapperen; a Claude Code valójában egy modern, ügynök-alapú operációs rendszer (Agent OS) jegyeit hordozza.

A „Syscall” réteg: Eszközkezelés és jogosultságkezelés
A kiszivárgott kód egyik legérdekesebb része a több mint 40 diszkrét képességet (tool) kezelő alrendszer. A mérnöki megközelítés itt kísértetiesen hasonlít a Unix-szerű rendszerek rendszerhívási (syscall) interfészéhez. A fájlrendszer-műveletek, a bash végrehajtás, az LSP (Language Server Protocol) integráció és az MCP (Model Context Protocol) szerverkapcsolatok mind különálló modulokként léteznek, saját jogosultsági kapukkal (permission gates).
Ez az architektúra megoldja a biztonsági izolációt: az LLM-alapú „felhasználói tér” soha nem fér hozzá közvetlenül a hardverhez vagy az operációs rendszerhez. Minden interakció egy ellenőrzött gateway-en halad át, amely képes korlátozni például a shell-hozzáférést, miközben engedélyezi a fájlok olvasását. Ez a granuláris jogosultságkezelés (RBAC) alapvető a vállalati környezetben való skálázhatósághoz.
Swarms: Folyamat-forkolás és ágens-orkesztráció
A forráskód megerősítette a tengu_amber_flint kódnév alatt futó „Swarms” (rajok) rendszer létezését. Ez a modul lehetővé teszi a Claude Code számára, hogy al-ágenseket (sub-agents) hozzon létre specifikus feladatokra.
Technikai szempontból ez a folyamat-forkolás (process forking) megfelelője az AI-világban:
- Izoláció: Az al-ágensek AsyncLocalStorage használatával különített kontextusban futnak.
- Párhuzamosítás: Képesek külön tmux vagy iTerm2 panelekben futni, saját memória-szinkronizációval.
- Képesség-korlátozás: A szülő ágens delegálhatja a jogosultságai egy részhalmazát a gyermek folyamatnak, de az nem eszkalálhatja saját hozzáférését.
Ez a struktúra közvetlen párhuzamba állítható a Kubernetes pod-orkesztrációjával, ahol a koordinátor ágens határozza meg a kontextus-határokat és az erőforrás-hozzáférést.
KAIROS és autoDream: Az öngyógyító memória
A leginkább előremutató technológia a KAIROS névre keresztelt autonóm démon mód. Ez a háttérfolyamat (daemon) folyamatosan figyeli a fejlesztői környezetet, és periodikus <tick> promptok alapján dönt a proaktív cselekvésről.
A memóriakezelést az autoDream alrendszer támogatja, amely lényegében egy „szemétgyűjtő” (garbage collector) az ágens tudásbázisához. Az üresjáratok alatt az autoDream konszolidálja a megfigyeléseket, eltávolítja a logikai ellentmondásokat és a rövid távú jegyzeteket tényekké alakítja. Ez a háromrétegű memória-architektúra biztosítja, hogy a kontextusablak ne teljen meg irreleváns vagy hibás adatokkal a hosszú fejlesztési ciklusok során.
Belső modellek és teljesítmény-benchmarkok
A szivárgás betekintést engedett az Anthropic belső modell-nómenklatúrájába és a fejlesztés alatt álló verziók teljesítményébe is. A migrations könyvtár adatai alapján az alábbi modellek azonosíthatók:
| Kódnév | Modell variáns | Állapot / Megjegyzés |
|---|---|---|
| Capybara | Claude 4.6 (Mythos) | Aktív fejlesztés, v8-as iteráció |
| Fennec | Opus 4.6 | Belső tesztelés |
| Numbat | Ismeretlen új modell | Kísérleti fázis |
Meglepő módon a belső kommentek egy regresszióra is rávilágítottak: a Capybara v8-as verziója jelenleg 29-30%-os téves állítási (false-claim) rátát produkál, ami visszalépés a v4-es verzió 16,7%-ához képest. Ez rávilágít arra a mérnöki kihívásra, amellyel az Anthropic küzd: az „assertiveness counterweight” (határozottsági ellensúly) finomhangolása, hogy a modell ne írja át túl agresszíven a kódot.
Feature Flags: A szállítási stratégia
A kód 44 különböző fordítási idejű (compile-time) feature flaget tartalmaz. Ezek közül több olyan funkciót takar, amelyeket a cég már lefejlesztett, de még nem tett elérhetővé a publikum számára:
- ULTRAPLAN: Távoli tervezési mód, amely komplex feladatokat egy felhőalapú konténerbe (Opus 4.6-tal) delegál.
- Buddy: Egy Tamagotchi-szerű társ-állat rendszer (18 fajjal és ritkasági szintekkel), valószínűleg a fejlesztői élmény javítására.
- Undercover Mode: Egy belső biztonsági rendszer, amely megakadályozza, hogy a Claude véletlenül belső kódneveket (pl. Capybara) szivárogtasson ki a git commitok során.
„Az irónia éles: az Anthropic egy egész alrendszert épített arra, hogy megakadályozza a belső részletek kiszivárgását, majd magát az alrendszert szivárogtatta ki egy hibás build-konfigurációval.”
Mérnöki konklúzió és biztonsági kockázatok
Szakmai szemmel a Claude Code forráskódja egy rendkívül érett, platform-mérnöki szemlélettel felépített rendszer. A fordítási idejű flag-kezelés, a szigorú típusbiztonság és a moduláris felépítés példaértékű. Ugyanakkor a szivárgás súlyos biztonsági kockázatot is hordoz.
Azáltal, hogy a támadók megismerték a pontos jogosultság-ellenőrzési logikát és a hook-orkesztrációs útvonalakat, képessé váltak olyan „mérgezett” repository-k létrehozására, amelyek kifejezetten a Claude Code belső logikáját célozzák meg (prompt injection vagy RCE kísérlet céljából).
// Koncepcionális példa a kiszivárgott tool-gate logikára
async function executeTool(tool: Tool, context: Context) {
const isInternal = tool.flags.includes('ANT_ONLY');
const hasPermission = await checkGate(tool.permission, context.user);
if (isInternal && !context.isAnthropicEmployee) {
throw new Error("Access Denied: Internal Tool");
}
return await tool.run(context.params);
}
Az eset legfontosabb tanulsága minden fejlesztőcsapat számára: a build pipeline a támadási felület része. Egyetlen elfelejtett .dockerignore vagy .npmignore bejegyzés, vagy a Bun bundler alapértelmezett source map generálása elegendő ahhoz, hogy a legféltettebb szellemi tulajdon közkinccsé váljon. Az Anthropic azóta a natív installert javasolja az npm helyett, ezzel is próbálva kikerülni a függőségi lánc sérülékenységeit.