OpenAI rregullon dy shpëtime nga sandbox-i i Codex të gjetura nga studiuesit

OpenAI rregullon dy shpëtime nga sandbox-i i Codex të gjetura nga studiuesit

Studiuesit e sigurisë gjetën dy mënyra për të dalë nga sandbox-i i OpenAI Codex, përfshirë një që ekzekuton komanda në kompjuterin e një zhvilluesi nga modaliteti vetëm-lexim.

Dy teknika të shpëtimit nga sandbox-i i Codex të zbuluara së fundmi tregojnë se si një asistent kodimi me AI mund të shtyhet jashtë hapësirës së mbrojtur ku supozohet të qëndrojë, dhe të dyja u rregulluan brenda tetë ditësh nga raportimi. Gjetjet vijnë nga Oren Yomtov i Accomplish AI, i cili raportoi të metat tek OpenAI më 12 gusht. Codex është agjenti i kodimit i OpenAI, i ofruar si mjet vijë komande dhe si aplikacion desktop, dhe si agjentët e ngjashëm nga furnizues të tjerë, është ndërtuar për të kryer veprimet e modelit brenda një sandbox-i, një zonë e rrethuar me mure që pengon kodin e pabesuar të prekë pjesën tjetër të makinës. Të dyja shpëtimet funksionojnë duke thyer atë kufi nga brenda, jo duke u thyer nga jashtë.

E meta më serioze, të cilën studiuesit e quajnë Heapjack, kthen një veprim të zakonshëm në ekzekutim kodi në distancë, që do të thotë se kodi i sulmuesit ekzekutohet në kompjuterin e vetë viktimës. Rruga është e shkurtër: hapni depon e kodit të dikujt tjetër në Codex, bëni një pyetje agjentit për atë kod, dhe personi që shkroi depon përfundon me ekzekutim komandash pa sandbox në makinën tuaj. Sipas shkrimit të Yomtov, teknika synon një komponent të quajtur node_repl, të cilin Codex Desktop e shkruan në skedarin global të konfigurimit në ~/.codex/config.toml në kohën e instalimit. Nuk ka mundësi për të zgjedhur dhe as cilësim për ta fikur, dhe sepse zëri qëndron në konfigurimin e përbashkët, njerëzit që përdorin mjetin e thjeshtë të vijës së komandës Codex trashëgojnë të njëjtin komponent pa u pyetur kurrë.

Arsyeja pse shpëtimi funksionon është një vendim dizajni brenda node_repl. Ai ekzekuton një proces të vetëm Node.js, një mjedis ekzekutimi për programe JavaScript, që mban dy kontekste të ndara ekzekutimi JavaScript. Njëri prej tyre është i besuar dhe përmban kodin e vetë OpenAI, dhe tjetri është i pabesuar dhe ekzekuton kodin e agjentit. Ana e besuar provon se është e besuar duke paraqitur një token të rastësishëm që gjenerohet i ri në çdo ekzekutim. Problemi është se të dy kontekstet qëndrojnë në të njëjtin proces dhe ndajnë të njëjtën grumbull memorie, kështu që ai token sekret është thjesht një varg që qëndron në memorie aty ku ana e pabesuar mund ta lexojë.

Kodi i pabesuar merr një pamje të grumbullit me një funksion të quajtur v8.getHeapSnapshot() dhe pastaj provon çdo varg që duket si identifikues unik universal, ose UUID. Një hamendje e gabuar kthehet me një mesazh që thotë nuk është i autorizuar. Një token i saktë i dërguar me një argument qëllimisht të keq prodhon një gabim të vërtetë validimi, që i tregon sulmuesit se tokeni është i saktë. Me tokenin në dorë, kodi i pabesuar shkruan kërkesën e vet në të njëjtin tub që konteksti i besuar përdor për të folur me një proces prindëror vendas, pa sandbox. Prindi kontrollon tokenin, sheh një të vlefshëm dhe e kryen punën. Prova e konceptit përdori komandën 'open' të sistemit për të nisur një aplikacion plotësisht jashtë pemës së proceseve të Codex. Shkrimi vëren se i njëjti akses arrin çdo Unix socket, një socket daemon Docker është objektivi i dukshëm, dhe një mjet për të redaktuar skedarin global të konfigurimit. E gjithë kjo ekzekutohet në vetëm-lexim, modaliteti më i rreptë i sandbox-it, ku agjenti nuk supozohet të mund të shkruajë asgjë fare.

E meta e dytë, Overpatch, qëndron në Codex CLI me burim të hapur. Në modalitetin workspace-write, agjenti mund të shkruajë vetëm brenda dosjes së projektit, dhe një komandë shell e drejtuar drejt dosjes home refuzohet. Studiuesit arritën që mjeti i vetë Codex për arna, apply_patch, të shkruante atje gjithsesi. Mjeti i jep akses shkrimi dosjes prindërore të çdo rruge të emërtuar në një arnë, kështu që emërtimi '/tmp' mjafton për të dhënë akses shkrimi në rrënjën e diskut. Shfrytëzimi funksional përdor një arnë me dy ndryshime: një që emërton '/tmp' dhe nuk bën asgjë të dobishme përveçse zgjeron lejen, dhe një që shton një rresht në '.zshrc' përmes një symlink në dosjen home. Hiqni ndryshimin e parë dhe shkrimi refuzohet. Mbajeni atë, dhe terminali i radhës që hap zhvilluesi ekzekuton rreshtin e sulmuesit pa sandbox rreth tij.

Të dyja të metat kanë të njëjtën formë, që është se mekanizmi i zbatimit jetonte brenda pikërisht asaj gjëje që supozohej të zbatonte. apply_patch nxirrte lejet e veta nga inputi i dhënë nga sulmuesi, dhe node_repl mbante sekretin që ndan kodin e besuar nga ai i pabesuar në të njëjtën memorie si kodi i pabesuar. Në secilin rast, sandbox-it iu tha nga brenda të linte diçka të kalonte.

Kjo klasë e të metave nuk është e re. Në korrik 2026, studiuesit në Pillar Security demonstruan të njëjtën ide në Cursor, Codex, Gemini CLI dhe Antigravity të Google, duke treguar një agjent që qëndron brenda sandbox-it të vet duke shkruar një skedar që një mjet i besuar jashtë sandbox-it ekzekuton më vonë. Duke reaguar ndaj postimit të Yomtov në X, një komentues shkroi se "Kontekstet V8 izolojnë globalët, jo memorien, kështu që sandbox-i ishte në të vërtetë një premtim që grumbulli nuk e pranoi kurrë." Një tjetër e përshkroi kufirin e besimit si një ndarës dhome. Fakti që komponenti node_repl është i aktivizuar si parazgjedhje gjithashtu tërhoqi vëmendjen, me një komentues që pyeste pse një token i privilegjuar ishte i arritshëm nga JavaScript i pabesuar fare.

OpenAI rregulloi Heapjack në Codex Desktop build 26.818.21641 dhe Overpatch në Codex CLI 0.149.0, sipas Accomplish. Përdoruesit duhet të përditësojnë në ato versione ose më të reja. Yomtov vlerësoi OpenAI për zgjidhjen e të dyja çështjeve brenda tetë ditësh nga raportimi i tij. BleepingComputer tha se kontaktoi OpenAI për koment përpara publikimit.

Për ekipe që duan ndihmë për të rishikuar se si janë konfiguruar mjetet e zhvilluesve dhe cloud në organizatën e tyre, AEU-I ofron shërbime IT, infrastrukture dhe konsulence me sigurinë në radhë të parë.

Si të Mbroheni

  1. Përditësoni aplikacionin desktop Codex në build 26.818.21641 ose më të re dhe mjetin e vijës së komandës Codex në versionin 0.149.0 ose më të re, dhe aktivizoni përditësimet automatike që rregullimet e ardhshme të vijnë pa ju dashur të kont
  2. Kini kujdes kur hapni depo kodi nga njerëz që nuk i njihni brenda një asistenti kodimi me AI, sepse kjo histori tregon se thjesht hapja e një projekti të tillë dhe pyetja rreth tij mjaftoi që autori i tij të ekzekutonte komanda në makinë.
  3. Mbajini asistentët e kodimit me AI larg kompjuterit dhe llogarisë që mbajnë fjalëkalimet, të dhënat e klientëve ose detajet e pagesave, në mënyrë që një gabim si ky të ketë më pak arritje.
  4. Kërkojini ekipit tuaj të IT ose ofruesit të teknologjisë të konfirmojnë se mjetet e zhvilluesve që përdor biznesi juaj kanë versionin më të fundit, dhe ta thonë këtë me shkrim.
  5. Mbani një kopje rezervë të fundit të faqes tuaj të internetit dhe skedarëve të rëndësishëm që dini t'i riktheni, në rast se diçka në një makinë pune ndryshohet pa dijeninë tuaj.

Termat e Shpjeguar

  • sandbox Një zonë e kufizuar brenda një kompjuteri ku një program lejohet të ekzekutohet, në mënyrë që çdo gjë e dëmshme që bën të mbetet larg pjesës tjetër të makinës.
  • remote code execution Një situatë ku një sulmues arrin të bëjë që komandat e tij të ekzekutohen në kompjuterin e dikujt tjetër.
  • Node.js Një pjesë e njohur softueri që lejon programet e shkruara në gjuhën JavaScript të ekzekutohen jashtë një shfletuesi web.
  • token Një varg i gjatë i rastësishëm karakteresh që përdoret si fjalëkalim, në mënyrë që një pjesë e një programi t'i provojë një pjese tjetër se është e lejuar të veprojë.
  • Unix socket Një pikë lidhjeje private në një kompjuter që programet e përdorin për t'i dërguar udhëzime njëri-tjetrit, për shembull për të kontrolluar softuer tjetër që ekzekutohet në të njëjtën makinë.
  • symlink Një skedar shkurtore që tregon drejt një skedari ose dosjeje tjetër diku tjetër në kompjuter, kështu që hapja e shkurtore hap gjënë e vërtetë.

Shërbime AEU të lidhura

  • AEU DNS Resolver DNS i enkriptuar