NOWOŚĆ! Szkolenie AI w pracy admina

Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

 

Luki w narzędziu OpenAI Codex pozwalają na ucieczkę z sandboxa. Szczegóły podatności Heapjack oraz Overpatch

27 września 2026, 23:19 | Aktualności | 0 komentarzy

Jeszcze do niedawna, mówiąc o wsparciu AI mieliśmy na myśli błyskawiczne generowanie podsumowań, przeprowadzanie analiz dokumentów źródłowych, wykonywanie tłumaczeń na niemal dowolny język oraz tworzenie prostych funkcji i skryptów pozwalających na automatyzację rutynowych zadań. Wraz z pojawieniem się agentów AI nastąpiła jednak prawdziwa rewolucja. 

TLDR:

  • Badacze z Accomplish wykryli dwie podatności w narzędziu OpenAI Codex.
  • Dzięki nim istnieje możliwość ucieczki z sandboxa i wykonania złośliwego kodu bezpośrednio na hoście (poza katalogiem roboczym agenta).
  • Luki występują w modułach apply_patch (narzędzie odpowiedzialne za wprowadzanie zmian w kodzie źródłowym i plikach projektu) oraz node_repl (funkcja umożliwiająca interaktywne wykonywanie kodu JavaScript w środowisku Node.js).
  • Podatności zostały naprawione w wersjach:
    • Codex CLI: 0.149.0 lub nowszej,
    • Codex Desktop: 26.818.21641 lub nowszej.

Sztuczna inteligencja przestała być jedynie biernym asystentem programisty, który w tle udziela sugestii jak dana funkcja ma wyglądać, ewentualnie co można w niej zmienić. Dzięki narzędziom takim jak Claude Code oraz OpenAI Codex, stała się aktywnym partnerem biorącym udział w procesie wytwarzania oprogramowania. 

Co więcej, agent potrafi samodzielnie poruszać się po całych repozytoriach, analizować architekturę projektu, dokonywać zmian bezpośrednio w plikach źródłowych na dysku dewelopera, a także planować i wdrażać modyfikacje.

Zmiana ta przesuwa rolę programisty z wykonawcy powtarzalnych zadań w stronę architekta oprogramowania. Zamiast pisać każdą linijkę kodu od zera, deweloperzy mogą delegować złożone zadania, skupiając się przede wszystkim na weryfikacji efektów końcowych. Oczywiście na obecnym etapie kluczowa pozostaje obecność człowieka (human-in-the-loop). 

Podczas pracy agent AI może poprosić o dodatkowe uprawnienia czy też zasugerować instalację niezbędnych paczek. Tworzy to złudne poczucie kontroli nad wytwarzanym oprogramowaniem, ponieważ w praktyce rzadko kto skrupulatnie weryfikuje każdy krok proponowany przez agenta AI. Często deweloper zaakceptuje monit i zezwoli na daną akcję bez większej refleksji. 

Zjawisko to otwiera zupełnie nową przestrzeń działań dla cyberprzestępców, co dobrze pokazują niedawne odkrycia badaczy z Accomplish AI dotyczące OpenAI Codex. Opublikowali oni dwie techniki umożliwiające ucieczkę z sandboxa – Heapjack oraz Overpatch. Dzięki nim istnieje możliwość wykonania dowolnego polecenia na komputerze dewelopera oraz wyskoczenie poza katalog projektu bez wiedzy i zgody dewelopera.

Overpatch i Heapjack. Źródło: accomplish.ai/blog

Podatność Overpatch występowała w otwartoźródłowym kliencie CLI. W trybie pracy workspace-write agent powinien posiadać uprawnienia do zapisu jedynie w katalogu roboczym projektu, a polecenia powłoki skierowane do katalogu domowego powinny być odrzucane. Badacze zauważyli jednak, że komponent apply_patch pozwalał na obejście tych ograniczeń. Mechanizm ten błędnie przyznawał uprawnienia do zapisu w folderze nadrzędnym każdej ścieżki zdefiniowanej w patchu – wystarczyło wskazać /tmp, aby uzyskać dostęp do zapisu w głównym katalogu dysku (/).

W przedstawionym scenariuszu ataku badacze korzystając z powyższej obserwacji dokonali modyfikacji pliku .zshrc, poprzez wstrzyknięcie dowiązania symbolicznego prowadzącego do katalogu domowego użytkownika ($HOME). W efekcie podczas otwierania nowego terminala przez dewelopera dochodziło do nieautoryzowanego wykonania komendy poza środowiskiem bezpiecznym – sandboxem. 

Szczegóły podatności Overpatch. Źródło: accomplish.ai/blog 

Podatność Heapjack została wykryta w oprogramowaniu Codex Desktop, a dokładniej w komponencie node_repl. Uruchamiał on proces Node.js, w ramach którego współdzielone są dwa oddzielne konteksty JavaScript: zaufany (zawierający kod OpenAI) i niezaufany (wykonujący kod agenta). Zaufana część miała potwierdzać swój status przy użyciu losowego tokenu generowanego dla każdej sesji. Problem polegał na tym, że oba konteksty współdzieliły tę samą stertę pamięci (heap). 

W praktyce oznaczało to, że sekret oddzielający część zaufaną od niezaufanej znajdował się w obszarze pamięci, do którego miał dostęp agent AI. W konsekwencji mógł on wykonać zrzut pamięci (v8.getHeapSnapshot()), a następnie odnaleźć unikalny token autoryzacyjny (przypominający identyfikator UUID). Przechwycenie sekretu pozwalało na wysyłanie żądań przez ten sam kanał komunikacyjny, z którego korzystał zaufany kontekst, co w efekcie prowadziło do wykonania nieautoryzowanych poleceń poza sandboxem. Oznaczenie katalogu read-only nie miało żadnego wpływu na skuteczność tej metody.

Szczegóły podatności Heapjack. Źródło: accomplish.ai/blog

Zaprezentowane scenariusze ataku stanowią realne zagrożenie dla osób korzystających z podatnych wersji oprogramowania. Użytkownik nie musi klikać w link podsunięty przez cyberprzestępców czy też instalować zainfekowane wersje narzędzi – do czego zdążyliśmy się już de facto przyzwyczaić.

Wystarczy dać agentowi AI “zielone światło” i bezrefleksyjnie zatwierdzać kolejne prośby o dostęp do danych czy też instalację dodatkowych pakietów. Jeśli sugerowana przez model paczka okaże się zainfekowana, atakujący będzie mógł przejąć kontrolę nad maszyną, na której uruchomiono proces. Mimo działania w sandboxie badacze pokazali, że stosunkowo łatwo można z niego “wyskoczyć” i wykonać kod bezpośrednio na hoście. 

Podatności zostały naprawione w następujących wersjach oprogramowania:

  • Codex CLI 0.149.0 lub nowsza,
  • Codex Desktop 26.818.21641 lub nowsza. 

W przypadku posiadania podatnej wersję narzędzi, zalecamy niezwłoczne wdrożenie poprawek.

Źródło: accomplish.ai/blog 

~_secmike

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz