Säkerhetsforskare upptäckte två sätt att ta sig ur OpenAI Codex sandlåda och nå resurser på värddatorn. OpenAI ska ha åtgärdat båda sårbarheterna inom åtta dagar, men en av bristerna gjorde det möjligt att köra kommandon från det striktaste sandlådeläget.
Forskare upptäcker två brister i Codex
Oren Yomtov på Accomplish AI och andra forskare rapporterade båda sårbarheterna till OpenAI den 12 augusti.
Den första tekniken, som fick namnet Heapjack, påverkade en komponent som Codex Desktop och Codex CLI använde. Enligt forskarna kunde den köra kommandon utanför sandlådan utan att begära godkännande eller visa någon synlig aktivitet.
Den andra bristen, kallad Overpatch, gjorde det möjligt för Codex korrigeringsverktyg att skriva utanför den tillåtna projektkatalogen.
OpenAI åtgärdade Heapjack i Codex Desktop-version 26.818.21641. Samtidigt löste företaget Overpatch i Codex CLI-version 0.149.0.
Användare bör installera dessa eller senare versioner.
Heapjack riktar sig mot delat minne
Heapjack riktade sig mot en komponent som heter node_repl. Codex Desktop lade till komponenten i den globala konfigurationsfilen för Codex under installationen.
Enligt forskarna behövde användarna inte aktivera funktionen manuellt. Dessutom gjorde den globala konfigurationen att användare av Codex CLI ärvde verktyget.
Komponenten körde en enda Node.js-process med två exekveringskontexter för JavaScript. En betrodd kontext innehöll OpenAI:s kod, medan en obetrodd kontext hanterade agentens kod.
Den betrodda kontexten autentiserade sig med en slumpmässig token som skapades under varje session. Båda kontexterna kördes dock i samma Node.js-process och delade samma minnesheap.
Därför kunde den obetrodda kontexten söka i det delade minnet efter autentiseringstoken.
Obetrodd kod hittar den hemliga token
Forskarna använde funktioner i Node.js för att skapa en ögonblicksbild av processminnet.
Den obetrodda koden sökte sedan efter strängar som matchade det förväntade tokenformatet. Den skickade in möjliga token och observerade svaren.
En felaktig token gav ett behörighetsfel. En korrekt token i kombination med ett ogiltigt argument gav dock ett annat valideringssvar.
Denna skillnad i beteende bekräftade när koden hade identifierat den giltiga token.
Attacken kunde sedan skriva en egen begäran till kommunikationskanalen som den betrodda kontexten använde. Den kanalen anslöt till en inbyggd överordnad process som kördes utanför sandlådan.
Eftersom begäran innehöll en giltig token accepterade den överordnade processen den som betrodd.
Heapjack möjliggör kommandokörning på värdsystemet
Koncepttestet för Heapjack använde värdsystemets kommando open för att starta ett program.
Programmet kördes utanför Codex processträd. Därför kunde sandlådan inte längre kontrollera dess aktivitet.
Enligt forskarna kunde samma åtkomst nå Unix-sockets och andra resurser på värdsystemet. Potentiella mål omfattade sockets för Docker-demonen och verktyg som ändrar den globala Codex-konfigurationen.
Attacken fungerade enligt uppgift i skrivskyddat läge, som har de striktaste sandlådebegränsningarna. I det här läget ska agenten inte kunna skriva filer eller köra kommandon utanför sin isolerade miljö.
Flykten från Codex sandlåda undergrävde därför det huvudsakliga skyddet som ska begränsa opålitligt innehåll i kodarkiv.
Skadligt kodarkiv kunde utlösa Heapjack
Forskarna beskrev ett scenario med ett skadligt kodarkiv.
En utvecklare kunde öppna en annan persons kodarkiv i Codex och ställa en vanlig fråga om dess kod. Dolda instruktioner i kodarkivet kunde därefter påverka agenten.
Instruktionerna kunde uppmana Codex att utnyttja Heapjack. Kodarkivets skapare kunde därmed potentiellt köra kommandon utanför sandlådan på utvecklarens dator.
Utvecklaren skulle inte behöva godkänna åtgärden. Dessutom kanske gränssnittet inte visade någon synlig varning medan attacken pågick.
Denna attackväg gjorde sårbarheten särskilt allvarlig. Utvecklare använder ofta kodningsagenter för att granska okända kodarkiv, felsöka projekt och förklara källkod.
Overpatch kringgår begränsningar för arbetsytan
Den andra flykten från Codex sandlåda, som fick namnet Overpatch, påverkade Codex CLI med öppen källkod.
I läget workspace-write kan Codex ändra filer i den aktiva projektkatalogen. Sandlådan ska dock blockera försök att skriva på andra platser.
Ett direkt skalkommando som riktas mot användarens hemkatalog ska exempelvis misslyckas.
Forskarna upptäckte att Codex verktyg apply_patch kunde kringgå denna begränsning. Verktyget beräknade sina egna skrivbehörigheter utifrån sökvägarna i en patch.
När en patch hänvisade till en katalog beviljade systemet åtkomst till sökvägens överordnade katalog. Därför kunde en noggrant utvald sökväg utöka det tillåtna området.
Patch-exploatering når hemkatalogen
Forskarna skapade en patch som innehöll två ändringar.
Den första ändringen hänvisade till en tillfällig katalog. Även om den inte utförde någon betydande ändring utökade den området som korrigeringsverktyget kunde komma åt.
Den andra ändringen riktades mot en symbolisk länk som ledde till användarens hemkatalog. Via länken lade patchen till ett kommando i konfigurationsfilen .zshrc.
Utan den första ändringen nekade sandlådan skrivningen. När båda ändringarna inkluderades kunde åtgärden dock genomföras.
Den skadliga raden kördes sedan utanför sandlådan när utvecklaren öppnade en ny terminalsession.
Till skillnad från Heapjack krävde Overpatch läget workspace-write. Trots det passerade attacken en gräns som borde ha begränsat ändringarna till projektmappen.
Båda bristerna delar samma designproblem
Heapjack och Overpatch påverkade olika komponenter, men forskarna identifierade ett gemensamt säkerhetsmisstag.
I båda fallen litade systemet på information som styrdes inifrån den miljö det försökte begränsa.
Korrigeringsverktyget beräknade behörigheter utifrån angriparkontrollerade sökvägar. Samtidigt lagrade node_repl sin autentiseringshemlighet i ett minne som delades med obetrodd kod.
Den skyddade komponenten bidrog därför till att avgöra om en åtgärd skulle få passera dess egen säkerhetsgräns.
En starkare design skulle upprätthålla gränsen genom en separat process eller komponent. Obetrodd kod ska inte kunna komma åt hemligheten eller styra informationen som används för att beräkna behörigheter.
AI-kodningsagenter möter större sandlåderisker
Upptäckterna kring flykten från Codex sandlåda speglar en större utmaning för AI-baserade kodningsverktyg.
Kodningsagenter interagerar regelbundet med opålitliga källfiler, konfigurationsdata och projektinstruktioner. Samtidigt behöver de tillräcklig systemåtkomst för att köra tester och ändra kod.
Angripare kan utnyttja denna kombination genom skadliga kodarkiv. Dolda instruktioner kan övertyga en agent om att skapa filer eller aktivera betrodda verktyg utanför sandlådan.
I juli 2026 demonstrerade forskare liknande tekniker mot flera kodningsagenter. Dessa attacker höll agenten kvar i sandlådan men skapade filer som betrodda externa verktyg senare körde.
Därför kanske det inte räcker att enbart säkra agenten. Utvecklare måste även överväga hur åtgärder i sandlådan interagerar med programvara som körs på värdsystemet.
Codex-användare bör uppdatera omedelbart
OpenAI ska ha åtgärdat båda sårbarheterna inom åtta dagar efter att företaget tog emot forskarnas rapport.
Användare bör uppdatera Codex Desktop till version 26.818.21641 eller senare. De bör även installera Codex CLI-version 0.149.0 eller en nyare version.
Utvecklare bör vara särskilt försiktiga när de öppnar okända kodarkiv med AI-kodningsagenter. Ett projekt kan innehålla skadliga instruktioner även om dess källkod verkar ofarlig.
Genom att hålla Codex uppdaterat stänger användarna de två rapporterade sårbarheterna. Utvecklare bör dock fortsätta att behandla opålitliga kodarkiv som potentiellt farligt innehåll.


0 svar till ”Forskare tar sig ur OpenAI Codex sandlåda och kör kommandon på värdsystemet”