Codex CLI es un agente de programación de OpenAI que funciona en tu terminal. Lee un proyecto, propone cambios y ejecuta comandos, y OpenAI documenta para él un modelo de seguridad de dos capas que combina un sandbox con políticas de aprobación. Este artículo resume ese modelo tal como se aplica en macOS, explica lo que dice y lo que no dice sobre el tráfico de red, y muestra cómo FireAI vigila el programa.
Qué es Codex CLI y cómo se instala
El repositorio del proyecto describe Codex CLI como un agente de programación ligero que funciona en tu terminal, hecho por OpenAI y con licencia Apache-2.0. Menciona tres vías de instalación: npm install -g @openai/codex, brew install --cask codex y una descarga directa mediante un script de shell o la página de GitHub Releases. Funciona en macOS, tanto en Apple Silicon como en Intel, así como en Linux y Windows.
# the documented install routes
npm install -g @openai/codex
brew install --cask codexEl modelo documentado de sandbox y aprobaciones
La página de OpenAI sobre aprobaciones y seguridad del agente describe los modos de sandbox y las políticas de aprobación funcionando en conjunto, y señala que ninguno por sí solo ofrece una protección completa. Los modos de sandbox son read-only, workspace-write y danger-full-access. En read-only, las acciones fuera de un límite restringido requieren aprobación. En workspace-write, Codex puede leer, editar y ejecutar comandos en el espacio de trabajo activo, mientras que el acceso a la red y las ediciones fuera de él requieren aprobación. Danger-full-access elimina las restricciones y no se recomienda.
Las políticas de aprobación incluyen on-request, el modo interactivo estándar; never, que desactiva los avisos de aprobación y mantiene las restricciones del sandbox; y granular, que es interactivo de forma selectiva para categorías específicas de acciones.
El acceso a la red en el sandbox
Según la misma página, la conectividad de red está desactivada por defecto. Para activarla en el modo workspace-write se define network_access = true bajo [sandbox_workspace_write] en el archivo de configuración, y una función opcional network_proxy puede restringir el tráfico a listas de dominios permitidos configuradas. En macOS, la aplicación usa políticas de Seatbelt mediante sandbox-exec; en Linux usa bwrap más seccomp.
[sandbox_workspace_write]
network_access = trueEste ajuste controla los comandos que se ejecutan dentro del sandbox. Es un límite útil, y conviene decir lo que no es: no es un registro de conexiones, y la conexión del propio agente con un servicio de modelos es otro asunto. Este artículo no enumera los dominios propios de Codex, porque las páginas revisadas aquí no ofrecen una lista documentada por el proveedor.
Por qué sigue sirviendo una vista de la red
Si activas el acceso a la red para que las pruebas descarguen dependencias, o usas danger-full-access, el sandbox ya no limita adónde se conectan los comandos. En ese punto, una vista de los destinos a los que el programa realmente llegó es la comprobación que queda. También cubre el caso en que olvidaste que habías cambiado el ajuste.
Vigilar Codex con FireAI
FireAI es un firewall para macOS hecho por HisnLabs y, desde la versión 1.0.2, tiene una función llamada Agent profile. Reconoce 19 agentes de IA, aprende adónde se conecta normalmente cada uno y marca los comportamientos inusuales para que los revises. Codex es un agente de línea de comandos, así que FireAI lo reconoce por el nombre de su programa.
Codex se identifica por el nombre de su programa, codex, lo que significa que FireAI etiqueta la coincidencia y no la verifica contra la firma de un desarrollador. Solo Claude Code, Claude y Cursor se comprueban de esa forma.
FireAI también reconoce los procesos hijos del agente, como un shell, git o curl que el agente ejecuta, subiendo por los procesos padre hasta llegar al agente. Por eso esas conexiones cuentan como del propio agente.
Lo que marca FireAI
- Durante los 3 primeros días, FireAI aprende los destinos que el agente contacta normalmente, agrupados por dominio. Durante este periodo de aprendizaje no se marca nada.
- Después, un destino nunca visto fuera de la referencia aprendida se marca para revisión.
- También se marca un pico de subida: una hora en la que el agente envió al menos 4 veces lo de su hora de más actividad hasta ahora, y nunca menos de 25 MB.
Agent profile usa solo metadatos, es decir, nombres de host y cantidades de bytes. FireAI nunca lee el contenido de una conexión, y no puede leer dentro de una conexión cifrada.
Configúralo para Codex
- Instala FireAI y termina la configuración, y luego sigue usando Codex como siempre. El periodo de aprendizaje de 3 días parte de lo que FireAI ve.
- Abre Sugerencias y mira la tarjeta Agentes de IA. Muestra los agentes que FireAI ha reconocido y lo que ha aprendido de cada uno.
- Cuando Codex llega a un destino que nunca había contactado, el aviso aparece en la tarjeta Agentes de IA y en la Revisión rápida. Desliza a la izquierda para bloquear o a la derecha para “Está bien”.
- Bloquear crea una regla para el proceso que se conectó. “Está bien” agrega el destino a la referencia del agente para que no vuelva a marcarse.
- Si quieres que el agente se limite a los lugares que ya usa, elige Perfil de agente en el menú de modos de seguridad, junto a Casa, Cafetería, Paranoico y Bajo ataque. Cuando el agente termina de aprender, una conexión a un destino fuera de su referencia se bloquea en lugar de marcarse.
- Un destino bloqueado aparece en la tarjeta Agentes de IA con Permitir y Mantener bloqueado. Permitir lo agrega a la referencia y el agente puede llegar a él de inmediato. Mantener bloqueado crea una regla de bloqueo, así que el destino sigue bloqueado en todos los modos.
Límites
- FireAI no evita la inyección de prompts. Un prompt escondido en una página web o en un archivo todavía puede dirigir a un agente. Lo que FireAI puede hacer es marcar, y permitirte bloquear, el camino que tomarían los datos para salir de tu Mac.
- FireAI no puede ver los prompts, el contenido de las herramientas MCP ni qué archivos lee Codex, como ~/.ssh. TLS oculta el contenido, y FireAI no está dentro del agente.
- Los procesos hijos que terminan muy rápido pueden pasar desapercibidos, y los procesos hijos se identifican por ruta, no por firma.
- Durante el periodo de aprendizaje de 3 días no se marca nada.
- En el modo Perfil de agente, una conexión a una dirección IP sin nombre de host se identifica por su dirección. Si un servicio que el agente usa normalmente responde desde una dirección nueva, se bloquea hasta que la permitas.
- La explicación en palabras sencillas que FireAI da de un aviso se redacta a partir de hechos que midió. Nunca dice que un destino sea seguro o peligroso. La decisión es tuya.
Guías relacionadas
El mismo enfoque se aplica a los demás agentes que FireAI reconoce: Claude Code, la app de escritorio de Claude, Cursor, la app de ChatGPT para Mac, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse de Meta, cualquier otro agente de IA que funcione con Python o Node. La descripción completa de la función está en la documentación de Agent profile.
Dónde entran FireAI y HisnLabs
Codex mantiene desactivada por defecto la red de su propio sandbox. FireAI vigila el resto del panorama.
FireAI es el producto de HisnLabs: un firewall con IA que corre directamente en tu Mac. Te muestra, en lenguaje claro, cada conexión que hacen tus aplicaciones y te deja decidir qué sale de tu Mac; su IA funciona de manera local, así que tu tráfico nunca se envía a nosotros ni a nadie más. El equipo de investigación en seguridad de HisnLabs es el que mantiene esas decisiones confiables: cataloga qué dominios son simple telemetría y cuáles un servicio real, rastrea el país y la red detrás de cada conexión, y entrena el modelo local (la función FireAI Pilot) con patrones de tráfico reales, sin que nada de eso salga de tu Mac.
Puedes leer las decisiones técnicas detrás de FireAI, o probarlo durante 17 días, en FireAI, de HisnLabs.
