Codex CLI to agent programistyczny od OpenAI, który działa w Twoim terminalu. Czyta projekt, proponuje zmiany i uruchamia polecenia, a OpenAI dokumentuje dla niego dwuwarstwowy model bezpieczeństwa, łączący piaskownicę z zasadami zatwierdzania. Ten artykuł streszcza ten model w odniesieniu do macOS, wyjaśnia, co mówi, a czego nie mówi o ruchu sieciowym, i pokazuje, jak FireAI obserwuje program.
Czym jest Codex CLI i jak się go instaluje
Repozytorium projektu opisuje Codex CLI jako lekkiego agenta programistycznego działającego w terminalu, tworzonego przez OpenAI i udostępnionego na licencji Apache-2.0. Wymienia trzy drogi instalacji: npm install -g @openai/codex, brew install --cask codex oraz bezpośrednie pobranie przez skrypt powłoki lub stronę GitHub Releases. Działa w macOS na procesorach Apple Silicon i Intel, a także w Linuksie i Windows.
# the documented install routes
npm install -g @openai/codex
brew install --cask codexUdokumentowany model piaskownicy i zatwierdzania
Strona OpenAI o zatwierdzeniach i bezpieczeństwie agenta opisuje tryby piaskownicy i zasady zatwierdzania działające razem i zaznacza, że żaden z tych elementów osobno nie zapewnia pełnej ochrony. Tryby piaskownicy to read-only, workspace-write i danger-full-access. W read-only działania poza ograniczoną granicą wymagają zatwierdzenia. W workspace-write Codex może czytać, edytować i uruchamiać polecenia w aktywnym obszarze roboczym, a dostęp do sieci i edycje poza nim wymagają zatwierdzenia. Danger-full-access usuwa ograniczenia i nie jest zalecany.
Zasady zatwierdzania obejmują on-request, standardowy tryb interaktywny; never, który wyłącza pytania o zatwierdzenie, zachowując ograniczenia piaskownicy; oraz granular, który jest wybiórczo interaktywny dla określonych kategorii działań.
Dostęp do sieci w piaskownicy
Według tej samej strony łączność sieciowa jest domyślnie wyłączona. Aby ją włączyć w trybie workspace-write, ustawia się network_access = true w sekcji [sandbox_workspace_write] pliku konfiguracyjnego, a opcjonalna funkcja network_proxy może ograniczyć ruch do skonfigurowanych list dozwolonych domen. W macOS egzekwowanie odbywa się przez zasady Seatbelt za pomocą sandbox-exec; w Linuksie przez bwrap wraz z seccomp.
[sandbox_workspace_write]
network_access = trueTo ustawienie dotyczy poleceń uruchamianych wewnątrz piaskownicy. Jest to użyteczne ograniczenie i warto powiedzieć, czym nie jest: nie jest dziennikiem połączeń, a własne połączenie agenta z usługą modelu to odrębna kwestia. Ten artykuł nie wymienia własnych domen Codex, ponieważ przejrzane tu strony nie podają listy udokumentowanej przez producenta.
Dlaczego widok sieci nadal pomaga
Jeśli włączysz dostęp do sieci, aby testy mogły pobierać zależności, lub użyjesz danger-full-access, piaskownica przestaje ograniczać, z czym łączą się polecenia. Wtedy pozostałym sprawdzeniem jest widok miejsc docelowych, z którymi program faktycznie się połączył. Obejmuje to też sytuację, w której zapomnisz, że zmieniłeś to ustawienie.
Obserwowanie Codex z FireAI
FireAI to zapora sieciowa dla macOS tworzona przez HisnLabs, która od wersji 1.0.2 ma funkcję o nazwie Agent profile. Rozpoznaje ona 19 agentów AI, uczy się, z czym każdy z nich zwykle się łączy, i oznacza nietypowe zachowanie do Twojego przeglądu. Codex jest agentem wiersza poleceń, więc FireAI rozpoznaje go po nazwie jego programu.
Codex jest dopasowywany po nazwie swojego programu, codex, co oznacza, że FireAI etykietuje dopasowanie i nie weryfikuje go na podstawie podpisu dewelopera. W ten sposób sprawdzani są tylko Claude Code, Claude i Cursor.
FireAI rozpoznaje także procesy potomne agenta, takie jak uruchomiona przez niego powłoka, git czy curl, przechodząc w górę po procesach nadrzędnych, aż dotrze do agenta. Te połączenia są więc liczone jako połączenia samego agenta.
Co oznacza FireAI
- Przez pierwsze 3 dni FireAI uczy się miejsc docelowych, z którymi agent zwykle się kontaktuje, pogrupowanych według domeny. W tym okresie nauki nic nie jest oznaczane.
- Po tym czasie pierwsze w historii miejsce docelowe spoza wyuczonej linii bazowej jest oznaczane do przeglądu.
- Oznaczany jest także skok wysyłanych danych: godzina, w której agent wysłał co najmniej 4 razy więcej niż w swojej dotychczas najbardziej obciążonej godzinie, i nigdy mniej niż 25 MB.
Agent profile korzysta wyłącznie z metadanych, czyli nazw hostów i liczby bajtów. FireAI nigdy nie czyta zawartości połączenia i nie może zajrzeć do wnętrza połączenia szyfrowanego.
Konfiguracja dla Codex
- Zainstaluj FireAI i dokończ konfigurację, a następnie korzystaj z Codex jak zwykle. 3-dniowy okres nauki opiera się na tym, co widzi FireAI.
- Otwórz Suggestions i spójrz na kartę agentów AI. Wymienia ona agentów rozpoznanych przez FireAI i to, czego nauczył się o każdym z nich.
- Gdy Codex po raz pierwszy połączy się z nowym miejscem docelowym, oznaczenie pojawia się na karcie agentów AI i w Quick Review. Przesuń w lewo, aby zablokować, lub w prawo, aby wybrać „It’s fine”.
- Block tworzy regułę dla procesu, który się połączył. „It’s fine” dodaje miejsce docelowe do linii bazowej agenta, aby nie było ponownie oznaczane.
- Jeśli chcesz ograniczyć agenta do miejsc, z których już korzysta, wybierz Agent profile w menu trybu bezpieczeństwa, obok Home, Coffee shop, Paranoid i Under attack. Gdy agent zakończy naukę, połączenie z miejscem docelowym spoza jego linii bazowej jest blokowane zamiast oznaczane.
- Zablokowane miejsce docelowe pojawia się na karcie agentów AI z opcjami Allow i Keep blocked. Allow dodaje je do linii bazowej i agent od razu może się z nim połączyć. Keep blocked tworzy regułę blokującą, więc miejsce docelowe pozostaje zablokowane w każdym trybie.
Ograniczenia
- FireAI nie zapobiega wstrzykiwaniu promptów (prompt injection). Prompt ukryty na stronie internetowej lub w pliku nadal może sterować agentem. FireAI może natomiast oznaczyć drogę, którą dane opuściłyby Maca, i pozwolić ją zablokować.
- FireAI nie widzi promptów, zawartości narzędzi MCP ani tego, które pliki czyta Codex, takich jak ~/.ssh. TLS ukrywa zawartość, a FireAI nie działa wewnątrz agenta.
- Procesy potomne, które kończą się bardzo szybko, mogą zostać pominięte, a procesy potomne są dopasowywane po ścieżce, nie po podpisie.
- W 3-dniowym okresie nauki nic nie jest oznaczane.
- W trybie Agent profile połączenie z samym adresem IP, bez nazwy hosta, jest dopasowywane po adresie. Jeśli usługa, z której agent zwykle korzysta, odpowiada z nowego adresu, połączenie jest blokowane, dopóki go nie zezwolisz.
- Wyjaśnienie oznaczenia, które FireAI podaje prostymi słowami, opiera się na zmierzonych faktach. Nigdy nie stwierdza, że miejsce docelowe jest bezpieczne lub niebezpieczne. Decyzja należy do Ciebie.
Powiązane przewodniki
To samo podejście dotyczy pozostałych agentów rozpoznawanych przez FireAI: Claude Code, aplikacja Claude na komputer, Cursor, aplikacja ChatGPT na Maca, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse od Meta, dowolny inny agent AI uruchamiany przez Pythona lub Node. Pełny opis funkcji znajduje się w dokumentacji Agent profile.
Jaką rolę odgrywają FireAI i HisnLabs
Codex domyślnie wyłącza sieć we własnej piaskownicy. FireAI obserwuje resztę obrazu.
FireAI to własny produkt HisnLabs: zapora sieciowa z AI działająca bezpośrednio na Macu. Pokazuje prostym językiem każde połączenie nawiązywane przez twoje aplikacje i pozwala ci decydować, co opuszcza twojego Maca — jej AI działa lokalnie, więc twój ruch nigdy nie jest wysyłany do nas ani do nikogo innego. Zespół badań nad bezpieczeństwem HisnLabs dba o to, by te decyzje pozostały trafne: kataloguje, które domeny to zwykła telemetria, a które prawdziwa usługa, śledzi kraj i sieć stojące za połączeniem oraz trenuje lokalny model (funkcję FireAI Pilot) na rzeczywistych wzorcach ruchu — a nic z tego nie opuszcza twojego Maca.
Możesz przeczytać o decyzjach technicznych, które za tym stoją, albo wypróbować FireAI przez 17 dni na FireAI od HisnLabs.
