En angriper med lokal kjøretilgang kan eskalere til root inne i sandkassen som Anthropics Claude Cowork bruker for å isolere kode, ifølge en analyse fra CybersecurityNews basert på forskning signert Armadin. Hele kill-kjeden er validert mot Claude Desktop for Windows versjon 1.9255.2.0.
Claude Cowork er Anthropics produkt for kunnskapsarbeidere, som lar ikke-tekniske brukere kjøre Claude Code for å bygge verktøy og behandle data. På Windows pakker Cowork Claude Code inn i en Hyper-V-isolert Ubuntu-VM, beskyttet av Authenticode-gated navngitte pipes, bubblewrap-namespaces, uprivilegerte per-sesjon-brukere, et seccomp-filter og en domenebegrenset egress-proxy. Målet med forskningen var å kjøre vilkårlig kode som root inne i den VM-en med full nettverkstilgang, og det lyktes.
Inngangen var ikke å bryte signaturkontrollen, men å omgå den. Tjenesten CoworkVMService validerer at den som kobler til pipen er signert av «Anthropic, PBC», og forsøk på å klone signaturblobs feilet mot WinVerifyTrust. I stedet brukte forskerne DLL-sideloading: claude.exe laster USERENV.dll fra sin egen mappe før den faller tilbake til systemkopien. Ved å lage en ondsinnet USERENV.dll som eksporterer GetUserProfileDirectoryW, oppnådde de kjøring inne i en legitimt signert Anthropic-binær, og besto pipens identitetssjekk uten å bryte den.
Derfra reverse-engineerte forskerne RPC-protokollen ved hjelp av en KI-kodeagent som leste tjenestelogger og feilmeldinger. Protokollen brukte enkel [4-byte lengde][JSON]-innramming og eksponerte metoder som configure, startVM og, kritisk, spawn. De fleste beskyttelsene holdt: useradd avviste reserverte navn som root, proxyen blokkerte ikke-tillatte domener med 403, og NTFS-junctions ble ikke fulgt inn i gjesten.
Bruddet kom fra to spawn-parametere som ble sendt uendret videre til VM-ens sdk-daemon: isResume og allowedDomains. Normalt tvinger isResume: false fram en ny uprivilegert bruker, men isResume: true hoppet over sjekken av eksisterende bruker helt, slik at daemonen kjørte kommandoer som hvilken som helst angitt bruker. Å sende {"name": "root", "isResume": true} returnerte et root-skall inne i bubblewrap-sandkassen.
Anthropics trusselmodell regner ikke lokal kjøring som i scope, så dette er ingen fjernutnyttbar svakhet. Men funnet er en påminnelse for alle som bygger på agent-verktøy: privilegiegrenser inne i «sandkassede» KI-agenter kan omgås når en angriper først har fotfeste, og en sandkasse er ikke en hard tillitsgrense.
Hva bør du gjøre?
- Ikke behandle KI-agent-sandkasser som en hard sikkerhetsgrense; anta at kode som allerede kjører lokalt kan nå inn i dem.
- Oppdater Claude Desktop for Windows forbi versjon 1.9255.2.0 når Anthropic patcher, og følg med på sikkerhetsvarslene deres.
- Bygger du egne agent-sandkasser: valider alle RPC-parametere som
isResumepå daemon-siden, i stedet for å stole på at klienten sender trygge verdier.