O Codex CLI é um agente de programação da OpenAI que roda no seu terminal. Ele lê um projeto, propõe alterações e executa comandos, e a OpenAI documenta para ele um modelo de segurança em duas camadas que combina um sandbox com políticas de aprovação. Este artigo resume esse modelo como ele se aplica ao macOS, explica o que ele diz e o que não diz sobre o tráfego de rede e mostra como o FireAI acompanha o programa.
O que é o Codex CLI e como ele é instalado
O repositório do projeto descreve o Codex CLI como um agente de programação leve que roda no seu terminal, feito pela OpenAI e licenciado sob Apache-2.0. Ele lista três formas de instalação: npm install -g @openai/codex, brew install --cask codex e um download direto por um script de shell ou pela página GitHub Releases. Ele roda no macOS, tanto em Apple Silicon quanto em Intel, além de Linux e Windows.
# the documented install routes
npm install -g @openai/codex
brew install --cask codexO modelo documentado de sandbox e aprovação
A página de aprovações e segurança de agentes da OpenAI descreve modos de sandbox e políticas de aprovação que funcionam em conjunto, e observa que nenhum dos dois, sozinho, oferece proteção completa. Os modos de sandbox são read-only, workspace-write e danger-full-access. No read-only, ações fora de um limite restrito precisam de aprovação. No workspace-write, o Codex pode ler, editar e executar comandos no espaço de trabalho ativo, enquanto o acesso à rede e as edições fora dele precisam de aprovação. O danger-full-access remove as restrições e não é recomendado.
As políticas de aprovação incluem on-request, o modo interativo padrão; never, que desativa os pedidos de aprovação mantendo as restrições do sandbox; e granular, que é interativo de forma seletiva para categorias específicas de ação.
Acesso à rede no sandbox
Segundo a mesma página, a conectividade de rede vem desativada por padrão. Para ativá-la no modo workspace-write, você define network_access = true em [sandbox_workspace_write] no arquivo de configuração, e um recurso opcional network_proxy pode restringir o tráfego a listas de domínios permitidos configuradas. No macOS, a aplicação usa políticas do Seatbelt por meio do sandbox-exec; no Linux, usa bwrap com seccomp.
[sandbox_workspace_write]
network_access = trueEsse ajuste rege os comandos que rodam dentro do sandbox. É um limite útil, e vale dizer o que ele não é: não é um registro de conexões, e a conexão do próprio agente a um serviço de modelo é uma questão separada. Este artigo não lista os domínios do próprio Codex, porque as páginas consultadas aqui não trazem uma lista documentada pelo fornecedor.
Por que uma visão de rede ainda ajuda
Se você ativa o acesso à rede para deixar os testes baixarem dependências, ou usa o danger-full-access, o sandbox deixa de limitar para onde os comandos se conectam. Nesse ponto, uma visão dos destinos que o programa de fato alcançou é a verificação que resta. Ela também cobre o caso em que você esqueceu que tinha mudado o ajuste.
Acompanhar o Codex com o FireAI
O FireAI é um firewall para macOS feito pela HisnLabs e, desde a versão 1.0.2, tem um recurso chamado Agent profile. Ele reconhece 19 agentes de IA, aprende para onde cada um normalmente se conecta e sinaliza comportamentos incomuns para você revisar. O Codex é um agente de linha de comando, então o FireAI o reconhece pelo nome do programa.
O Codex é associado pelo nome do programa, codex, o que significa que o FireAI identifica a correspondência pelo nome e não a verifica pela assinatura de um desenvolvedor. Só o Claude Code, o Claude e o Cursor são conferidos dessa forma.
O FireAI também reconhece os processos filhos do agente, como um shell, git ou curl que o agente executa, subindo pelos processos pais até chegar ao agente. Essas conexões, portanto, contam como do próprio agente.
O que o FireAI sinaliza
- Nos primeiros 3 dias, o FireAI aprende os destinos que o agente normalmente contata, agrupados por domínio. Nada é sinalizado durante esse período de aprendizado.
- Depois disso, um destino inédito fora da referência aprendida é sinalizado para revisão.
- Um pico de envio também é sinalizado: uma hora em que o agente enviou pelo menos 4 vezes o volume da sua hora mais intensa até então, e nunca menos de 25 MB.
O Agent profile usa apenas metadados, ou seja, nomes de host e contagens de bytes. O FireAI nunca lê o conteúdo de uma conexão e não consegue ler dentro de uma conexão criptografada.
Configurar para o Codex
- Instale o FireAI e conclua a configuração, depois continue usando o Codex como de costume. O período de aprendizado de 3 dias parte do que o FireAI observa.
- Abra Sugestões e veja o cartão Agentes de IA. Ele lista os agentes que o FireAI reconheceu e o que aprendeu sobre cada um.
- Quando o Codex alcança um destino que nunca contatou, o alerta aparece no cartão Agentes de IA e na Revisão rápida. Deslize para a esquerda para bloquear ou para a direita para “Está tudo bem”.
- Bloquear cria uma regra para o processo que se conectou. “Está tudo bem” adiciona o destino à referência do agente, para que ele não seja sinalizado de novo.
- Se você quer que o agente fique nos lugares que já usa, escolha Perfil de agente no menu de modo de segurança, ao lado de Casa, Cafeteria, Paranoico e Sob ataque. Quando o agente termina o aprendizado, uma conexão a um destino fora da referência dele é bloqueada em vez de sinalizada.
- Um destino bloqueado aparece no cartão Agentes de IA com Permitir e Manter bloqueado. Permitir o adiciona à referência, e o agente pode alcançá-lo na hora. Manter bloqueado cria uma regra de bloqueio, então o destino continua bloqueado em todos os modos.
Limites
- O FireAI não impede a injeção de prompt. Um prompt escondido em uma página web ou em um arquivo ainda pode conduzir um agente. O que o FireAI pode fazer é sinalizar, e deixar você bloquear, o caminho que os dados tomariam para sair do seu Mac.
- O FireAI não vê prompts, o conteúdo de ferramentas MCP nem quais arquivos o Codex lê, como ~/.ssh. O TLS oculta o conteúdo, e o FireAI não está dentro do agente.
- Processos filhos que terminam muito rápido podem passar despercebidos, e os processos filhos são associados pelo caminho, não pela assinatura.
- Durante o período de aprendizado de 3 dias, nada é sinalizado.
- No modo Perfil de agente, uma conexão a um endereço IP puro, sem nome de host, é associada pelo endereço. Se um serviço que o agente normalmente usa responder de um novo endereço, ele fica bloqueado até você permiti-lo.
- A explicação em palavras simples que o FireAI dá para um alerta é escrita a partir de fatos que ele mediu. Ela nunca diz que um destino é seguro ou perigoso. A decisão é sua.
Guias relacionados
A mesma abordagem vale para os outros agentes que o FireAI reconhece: Claude Code, o app Claude para desktop, Cursor, o app ChatGPT para Mac, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse da Meta, qualquer outro agente de IA executado por Python ou Node. A descrição completa do recurso está na documentação do Agent profile.
Onde FireAI e HisnLabs entram nessa história
O Codex mantém a rede do próprio sandbox desligada por padrão. O FireAI acompanha o restante do quadro.
O FireAI é o produto da HisnLabs: um firewall com IA que roda direto no seu Mac. Ele mostra, em linguagem simples, cada conexão que seus aplicativos fazem e deixa você decidir o que sai do seu Mac — a IA roda localmente, então seu tráfego nunca é enviado para nós nem para ninguém. A equipe de pesquisa em segurança da HisnLabs é quem mantém essas decisões confiáveis: cataloga quais domínios são telemetria comum e quais são um serviço de verdade, rastreia o país e a rede por trás de uma conexão e treina o modelo local (o recurso FireAI Pilot) com padrões reais de tráfego, sem que nada disso saia do seu Mac.
Você pode ler as decisões técnicas por trás dele, ou testar o FireAI por 17 dias, em FireAI, da HisnLabs.
