opencode es un agente de programación con IA de código abierto que se ejecuta desde una terminal en el Mac, y aparece a menudo en búsquedas como «opencode security mac», «is opencode safe» y «opencode network access». Su documentación es clara sobre el modelo de permisos y sobre la única función que sube una conversación a un servidor. Este artículo expone esos datos documentados y explica después cómo FireAI, un cortafuegos local para macOS desarrollado por HisnLabs, vigila las conexiones que hace el programa y qué no puede hacer.
Qué es opencode
opencode se describe a sí mismo como «the open source AI coding agent» (el agente de programación con IA de código abierto). El repositorio de GitHub, que ha pasado de la organización sst a anomalyco, tiene licencia MIT. Se distribuye como interfaz de terminal, aplicación de escritorio (marcada como beta en el README) y extensión para IDE, e incluye dos agentes integrados: build, un agente con acceso completo que es el predeterminado, y plan, un agente de solo lectura que pide permiso [1]. Los usuarios lo conectan a proveedores de modelos con claves de API; la introducción recomienda OpenCode Zen, una lista seleccionada de modelos probados por el equipo de opencode [2].
Cómo se ejecuta opencode en macOS
El README indica varias formas de instalarlo en macOS: el script curl -fsSL https://opencode.ai/install | bash, npm, bun, pnpm o yarn, Homebrew y un DMG para la app de escritorio. En una instalación de línea de comandos, el programa que lanzas se llama opencode, que es como aparece el proceso ante el sistema.
A qué puede acceder y cómo se controla
El sistema de permisos tiene tres estados: allow, ask y deny. Las reglas pueden definirse de forma global o por herramienta, y pueden coincidir con patrones de la entrada de la herramienta, de modo que prevalece la última regla que coincide. La documentación indica que la mayoría de los permisos son allow por defecto; doom_loop y external_directory son ask por defecto, y los archivos .env están bloqueados por defecto. La opción --auto aprueba las solicitudes automáticamente salvo que se aplique una regla deny explícita [3].
El permiso external_directory regula las rutas fuera del espacio de trabajo del proyecto. Estos permisos regulan lo que el agente hace con las herramientas, como leer, editar y ejecutar comandos. No se describen como una lista de permitidos para la red.
A dónde se conecta
La página sobre la función de compartir documenta la única función que envía una conversación a los servidores de opencode. El comando /share crea una URL pública y sincroniza con ellos el historial de la conversación, los mensajes, las respuestas y los metadatos de la sesión. Compartir es manual por defecto, así que no se envía nada sin ese comando; puede desactivarse con "share": "disabled" en opencode.json, y las sesiones compartidas siguen accesibles hasta que se usa /unshare [4]. Las páginas leídas para este artículo no enumeran más dominios, así que, más allá de tu proveedor de modelos y de lo que contacte una herramienta, considera los demás destinos como no documentados aquí.
Vigilar opencode con FireAI
FireAI es un cortafuegos para macOS que se ejecuta en el Mac. Su función Perfil de agente reconoce 19 agentes de IA, aprende a dónde se conecta normalmente cada uno y señala lo que es nuevo. La página de Perfil de agente de FireAI incluye opencode entre los agentes de línea de comandos que se reconocen por el nombre de su programa. Las conexiones de un programa llamado opencode, y de sus procesos hijo, como un shell o git, se atribuyen por tanto a opencode.
- Durante los 3 primeros días, FireAI aprende los destinos con los que el agente contacta normalmente, agrupados por dominio, de modo que api.anthropic.com se convierte en anthropic.com. Durante este periodo no se señala nada.
- A partir de ahí, el primer destino nunca visto fuera de la línea base se señala para su revisión en Sugerencias, en la tarjeta Agentes de IA y en Revisión rápida. Desliza a la izquierda para bloquear o a la derecha para «Está bien».
- También se señala un pico de subida: una hora en la que el agente haya subido al menos 4 veces lo de su hora de mayor actividad hasta entonces, y nunca menos de 25 MB.
- FireAI solo usa metadatos, es decir, nombres de host y recuentos de bytes. Nunca lee el contenido de una conexión.
Configurar FireAI para opencode
- Instala FireAI y usa el agente como de costumbre. El periodo de aprendizaje de 3 días empieza solo y no señala nada.
- Abre Sugerencias y busca la tarjeta Agentes de IA. Tras el periodo de aprendizaje, allí y en Revisión rápida aparece una señal para el agente.
- Revisa cada señal. Elige Bloquear para crear una regla para el proceso que se conectó, o «Está bien» para añadir el destino a la línea base del agente.
- Para mantener el agente en 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. Tus reglas se aplican como en Casa, y una conexión a un destino fuera de la línea base se bloquea en lugar de señalarse una vez que el agente ha terminado de aprender.
- Un destino bloqueado aparece en la tarjeta Agentes de IA con Permitir y Mantener bloqueado. Permitir lo añade a la línea base y el agente puede alcanzarlo de inmediato. Mantener bloqueado crea una regla de bloqueo que se mantiene en todos los modos.
Una regla de permiso que hayas escrito para un sitio web, un dominio o una dirección sigue teniendo prioridad, y el DNS y tu red local nunca se bloquean. Para un agente que FireAI no incluye, escribe a mano una regla para su programa en reglas por app. El modo Perfil de agente requiere FireAI 1.0.3 o posterior, y el reconocimiento de opencode requiere la 1.0.4.
Límites
- Las reglas de permisos de opencode deciden qué llamadas a herramientas se aprueban, y en el modo
--autoaprueban la mayoría. FireAI trabaja en cambio en la capa de las conexiones, de modo que ambos se complementan en lugar de solaparse. - opencode se reconoce por el nombre de su programa, lo que significa que se etiqueta, no se verifica: solo Claude Code, Claude y Cursor se comprueban con la firma de su desarrollador.
- FireAI no detiene la inyección de prompts. Limita el daño señalando, y permitiéndote bloquear, el camino que seguirían los datos para salir de tu Mac.
- FireAI no puede ver los prompts, el contenido de las herramientas MCP, el acceso a archivos ni las skills. TLS oculta el contenido, y FireAI no está dentro del agente.
- Los procesos hijo que terminan muy deprisa pueden pasar inadvertidos, y se identifican por su ruta, no por su firma.
- Durante el periodo de aprendizaje de 3 días no se señala nada, y los picos de subida se señalan, no se bloquean.
- En el modo Perfil de agente, una conexión a una dirección IP directa sin nombre de host se identifica por su dirección, así que una dirección nueva de un servicio que el agente usa normalmente queda bloqueada hasta que la permitas.
Otros agentes
El mismo enfoque se aplica a todos los agentes que reconoce FireAI. Consulta las demás guías: Claude Code, la app de escritorio de Claude, Cursor, la app de ChatGPT para Mac, OpenAI Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse de Meta, cualquier otro agente de IA que se ejecute con python o node. La descripción completa de la función está en la página de documentación de Perfil de agente, publicada por HisnLabs.
El papel de FireAI y de HisnLabs
FireAI aprende a dónde se conecta normalmente opencode en tu Mac y señala un destino nunca visto o un pico de subida, sin leer tus datos.
FireAI es el propio producto de HisnLabs: un cortafuegos con IA integrada para Mac. Muestra, en lenguaje claro, cada conexión que hacen tus aplicaciones y te deja decidir qué sale de tu Mac; su IA funciona en el propio equipo, así que tu tráfico nunca se envía a HisnLabs ni a nadie más. El equipo de investigación en seguridad de HisnLabs es quien mantiene esas decisiones fiables: cataloga qué dominios son simple telemetría frente a un servicio real, sigue el país y la red detrás de una conexión, y entrena el modelo local (la función FireAI Pilot) con tráfico real, sin que nada salga de tu Mac.
Puedes leer las decisiones técnicas detrás de esto, o probar FireAI durante 17 días, en FireAI, de HisnLabs.
