Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
node9-proxy — 面向智能体时代的执行安全层。为自主AI代理提供确定性的“Sudo”治理与审计日志。 | Kitploit
工具/GitHubGitHub/node9-ai/node9-proxy
漏洞扫描器容器安全云安全DevSecOps命令与控制秘密检测威胁情报供应链安全事件响应AI 安全
GitHubnode9-ai/node9-proxy

node9-proxy

面向智能体时代的执行安全层。为自主AI代理提供确定性的“Sudo”治理与审计日志。

210181天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库网站

🛡️ Node9

你的 AI 代理到底做了什么?查清楚。

npm version monthly downloads License: Apache 2.0 Documentation Try on HF Spaces

Node9 位于你的 AI 代理及其可使用的工具之间——发现它已经做了什么,防护实时风险行为,审查任意时间窗口内发生的事件。

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

Node9 的功能

  • 🔍 发现 — 扫描所有历史 AI 会话,查找凭据泄露、代理循环、被阻止的操作,以及当前代理可触及磁盘上的每个机密
  • 🛡 防护 — 在风险命令执行前审查或阻止 — rm -rf、git push --force、DROP TABLE、凭据读取、curl | bash、AWS/GitHub/Stripe 密钥泄露
  • 📊 审查 — 按周期生成报告(今天/本周/本月/90天)—— 每个代理的成本、常用工具、触发的护盾、影响范围

回顾性扫描

这是我自己的机器——在构建 Node9 的 90 天内。评分 25/100,AI 代理当前可直接访问 5 个凭据文件。

root@kitploit:~
npx node9-ai scan   # 安装前运行,约 10 秒,不上传任何内容
node9 scan          # 安装后运行,输出相同

Node9 扫描评分卡

安全态势评分卡

node9 posture 评估该机器遭受被入侵代理时的暴露程度——隔离、出站、磁盘上的机密、供应链、权限——并为你提供修复每个发现的确切命令。

root@kitploit:~
node9 posture          # 评分卡,附首要风险及每个发现的修复命令
node9 posture --ship   # 将脱敏快照发送至你的 node9 仪表盘(集群视图)

发现的项按 谁能修复 分组:🔒 表示 node9 可降低的(只需运行命令)和 🧱 表示只有你能修复的。每项都附带通俗易懂的 what/why/who 以及实际的修复措施——例如,"代理在宿主机上无沙箱运行" 的发现直接指向 node9 sandbox run(见下文)。

root@kitploit:~
🛡️  Node9 Posture — agent on this host        Score: 100/100  (Good)
  2 advisories below don't affect the score — OS-level exposure, yours to weigh.

  🟢 node9 is already protecting you
  ✅ Secrets        node9 DLP is blocking this
  ✅ Egress         node9 egress is approval-gating this
  ✅ Approval gate  node9 is blocking this
  ✅ Privilege      node9 is approval-gating this

  🔒 node9 reduces these — run the command, the rest is yours
  ⚠️  Isolation     Running directly on the host — no container
                   The agent runs loose on your whole machine, not in a sandbox.
                   → node9 sandbox run <agent>   — jail it: kernel egress + scoped mounts + node9 inside
                   → node9 shield enable project-jail   — or shrink the blast radius, keep host access
  ⚠️  Network exposure  4 services on 0.0.0.0 (node :3000/:4000, PostgreSQL :5432, Redis :6379)
                   Reachable from your whole network, not just this laptop.
                   → node9 shield enable postgres|redis   — node9 blocks DROP TABLE / FLUSHALL
                   → bind to 127.0.0.1 / firewall the port   (your part)

  ✅ Supply chain   no issues found
  ✅ Coverage       no issues found

  Track this across your fleet & keep it green → node9.ai

扫描仓库——代理-CI 安全

node9 scan-repo 检查任意仓库(或本地文件夹)中是否存在 AI 代理(与 GitHub Actions 集成)可能被外部攻击者劫持的途径——可注入的工作流、代理可触及的机密、未固定版本的 MCP 服务器、权限过大的代理配置以及被投毒的命令文件。静态解析:仅读取已提交的配置,绝不执行仓库代码。对于公开仓库无需安装或令牌。

root@kitploit:~
npx node9-ai scan-repo <owner/repo>   # 任意公开仓库,无需安装
node9 scan-repo .                      # 本地检出——无网络请求
node9 scan-repo <owner/repo> --json    # 机器可读格式
root@kitploit:~
🛡️  node9 scan-repo · node9-ai/agent-security-demo · ⚠️ agent-security risk found
   inspected 2 config file(s), 2 finding(s)

🔴 CRITICAL  Injectable agent workflow — untrusted input reaches a tool-using agent with secrets
   .github/workflows/vulnerable-example.yml · CI-2
     • runs with base-repo secrets (pull_request_target)
     • checks out the untrusted PR head into the workspace root
     • allowed_non_write_users: "*" — any user can trigger the agent
     • no effective actor gate

🔴 CRITICAL  Exfiltratable secrets reachable by an injectable agent
   .github/workflows/vulnerable-example.yml · CI-4
     • agent has arbitrary shell (bare Bash) → can read env and exfiltrate

检查项:

拦截每个 PR——相同的引擎以 GitHub Action 运行,因此可劫持的配置无法被合并:

root@kitploit:~
# .github/workflows/agent-security.yml
- uses: node9-ai/agent-security-action@v1
  with:
    fail-on: high # or 'never' to just comment

市场:node9 Agent Security Check

实时监控

Node9 监控仪表盘

node9 monitor 打开一个交互式终端仪表盘,包含两个视图:

  • [1] 实时 — 动态活动、审批、安全警报、当前风险评分
  • [2] 报告 — 周期汇总:成本、常用工具、触发的护盾、影响范围

报告

在 monitor 中按 [2] 查看周期汇总。通过 [T]今天 · [W]本周 · [M]本月 · [N]90天 切换窗口——面板与上述扫描相同,数据来自你安装后的审计日志。

Node9 monitor [2] Report

root@kitploit:~
node9 monitor              # 按 [2] 查看报告视图
node9 report --period 7d   # 命令行形式,无 TUI

安装

root@kitploit:~
# macOS / Linux
brew tap node9-ai/node9 && brew install node9

# 或通过 npm(任意平台)
npm install -g node9-ai
root@kitploit:~
node9 init       # 自动连接所有检测到的代理和 MCP 服务器
node9 doctor     # 验证所有连接是否正确

需要 Node.js 18+。

护盾——精选规则包

每个护盾是针对某个服务或领域的精选规则集。仅启用你需要的。

root@kitploit:~
node9 shield list    # 显示所有护盾及其状态

始终开启——无需配置

  • Git — 捕获 git push --force、git reset --hard、git clean -fd
  • SQL — 捕获无 WHERE 的 DELETE / UPDATE、DROP TABLE、TRUNCATE
  • Shell — 捕获 curl | bash、未授权的 sudo
  • DLP — 在任何工具参数、文件内容或 shell 配置(~/.zshrc、~/.bashrc)中标记 AWS 密钥、GitHub 令牌、Stripe 密钥、PEM 私钥
  • 响应 DLP — 后台扫描器读取 Claude 的对话历史,并在 Claude 在响应文本中写入了机密时向你发出警报
  • 自动撤销 — 每次 AI 文件编辑前进行 git 快照 → node9 undo 回退

审查提示——在代理内联审批

当 node9 将一个操作标记为审查(例如 git push --force、DROP TABLE)时,批准/拒绝提示会在代理对话中内联显示——不会冻结会话、无需单独终端窗口、没有钩子超时竞争。node9 仍然运行完整的评估器并做出决策;只是提示界面移到了代理中。

  • 默认开启 适用于 Claude Code 和 GitHub Copilot CLI——这些代理的钩子契约支持原生的 ask。所有其他代理(Codex、Gemini、Antigravity、Hermes、Cursor、OpenCode、Pi)使用 node9 自己的审批器。
  • 控制它 通过 ~/.node9/config.json 中的 reviewChannel 设置(或为钩子添加 --no-ask):
root@kitploit:~
{
  "settings": {
    "reviewChannel": "ask", // "ask" = 内联代理提示(默认)| "approver" = node9 自己的审批器
  },
}
  • 团队设置: 当配置了云端/团队审批器(approvers.cloud: true)时,审查将路由到该审批器——node9 不会允许内联自我批准绕过路由/第二方审批。

沙箱——在隔离环境中运行代理

当监控不够时,node9 sandbox 在一个可丢弃的容器中运行代理,并带有一个内核强制出站允许列表和限定挂载范围——同时 node9 的钩子管理和审计箱内每个工具调用。这是强硬的防护版本:代理只能触及你挂载的文件夹和允许的主机;其他一切都在内核层面被丢弃。

root@kitploit:~
cd ~/my-project
node9 sandbox new        # 写入 node9.sandbox.yaml——要挂载的内容和允许的主机
node9 sandbox run        # 构建并启动被隔离的代理(你的项目位于 /workspace)
node9 sandbox tail       # 从宿主机实时查看代理的操作
  • 可丢弃 — 容器在退出时销毁;你的项目编辑内容会写入真实磁盘,其他内容不会保留。
  • 相同策略 — 你现有的护盾/出站规则/审批在箱内同样适用,并流式传输到相同的审计日志和仪表盘。
  • 闭合态势循环 — 运行它会使隔离/出站发现项变为绿色。

诚实范围(阶段 1):单容器,Claude 优先(Codex 下一步);代理在箱内仍然持有自己的凭据(出站墙将其限制在允许的主机)——"代理永不持有机密" 是路线图上的凭据代理阶段。需要 Docker。

MCP 网关

透明地包装任意 MCP 服务器。代理看到相同的服务器——Node9 拦截每个工具调用。

root@kitploit:~
{
  "mcpServers": {
    "postgres": {
      "command": "node9",
      "args": ["mcp", "--upstream", "npx -y @modelcontextprotocol/server-postgres postgresql://..."]
    }
  }
}

或者直接运行 node9 init——它会自动包装你现有的 MCP 服务器。

🔐 MCP 工具固定——防止拉地毯攻击

MCP 服务器可以在会话之间更改其工具定义。一个被入侵或恶意的服务器可能在你首次信任它之后静默地添加、删除或修改工具——这就是拉地毯攻击。

Node9 在首次使用时固定工具定义:

  1. 首次连接 — 网关记录每个工具的名称、描述和模式的 SHA-256 哈希
  2. 后续连接 — 比较哈希;如果工具发生变化,该会话被隔离,所有工具调用被阻止,直到人类审查并批准变更
  3. 损坏的固定状态 — 故障关闭(阻止),绝不静默重新信任
root@kitploit:~
node9 mcp pin list                # 显示所有已固定的服务器和哈希
node9 mcp pin update <serverKey>  # 移除固定,在下次连接时重新固定
node9 mcp pin reset               # 清除所有固定

其他命令

除了上述三个流程命令(scan / monitor / report)之外:

此外,在 Claude Code 的状态行中还有一个实时 HUD:

root@kitploit:~
🛡 node9 | standard | [bash-safe] | ✅ 12 allowed  🛑 2 blocked  🚨 0 dlp | ~$0.43
📊 claude-opus-4-7 | ctx [████████░░░] 54% | 5h [██░░░░░░░░] 12% | 7d [█░░░░░░░] 7%
🗂 2 CLAUDE.md | 8 rules | 3 MCPs | 4 hooks

解读数据——数字的含义

Node9 揭示了信号。以下是一些值得关注的模式:

偶发的信号是正常的;持续的模式才是你需要采取行动的。

Python SDK——管理任意 Python 代理

root@kitploit:~
from node9 import configure, protect

configure(agent_name="my-agent", policy="require_approval")

@protect("bash")
def run_command(cmd: str) -> str:
    ...

Python SDK → · CI 代码审查代理示例 →

底层原理

  • 扫描 直接从 ~/.claude/projects/、~/.gemini/tmp/、~/.gemini/antigravity-*/brain/、~/.copilot/session-state/、~/.codex/sessions/ 读取原始代理历史——无需 API 调用,完全离线
  • 运行时 通过执行前钩子(Claude Code、Codex、Antigravity、GitHub Copilot CLI、Gemini CLI、Opencode、Pi)或通过 MCP 网关(Cursor、Windsurf、VSCode、Claude Desktop)拦截工具调用。所有决策原子性地写入 ~/.node9/audit.log
  • MCP 网关 是一个 stdio 代理;拦截 tools/list + tools/call JSON-RPC,转发其余内容
  • 策略引擎 使用 mvdan-sh 进行 bash AST 分析——可对抗通过反斜杠转义、变量替换、eval 远程下载等手段的混淆
  • 用于自动撤销的影子仓库 位于 ~/.node9/snapshots/<hash16>/——绝不触碰你的 .git
  • 沙箱 生成一个 Dockerfile + 入口点,使用 ipset/iptables 默认拒绝出站墙进行密封,然后降级为非 root 代理,其中 node9 的守护进程和钩子在内部运行;仅挂载代理的凭据文件,绝不会挂载整个

完整文档

配置参考、智能规则、有状态规则、受信任主机、批准模式、CLI 参考——请访问 node9.ai/docs。

相关项目

  • node9-python — Python SDK
  • node9-pr-agent — 通过 Node9 审查 PR 的 GitHub Action

企业版

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

许可证

Apache-2.0

用 ☕ 和健康的偏执构建。

下载工具
检查项标志
CI-1已提交的代理配置预授权了广泛工具或运行远程钩子
CI-2可注入的代理工作流——外部攻击者可触发代理并劫持它
CI-3未固定版本 / @latest 的 MCP 服务器或内联凭据(供应链)
CI-4被注入代理可能窃取的机密
CI-6CLAUDE.md / AGENTS.md / skills 中被投毒或危险的指令
护盾捕获内容启用
project-jail阻止读取 ~/.ssh、~/.aws、.env、通过 Bash 和 Read 工具读取凭据node9 shield enable project-jail
bash-safecurl | bash、rm -rf /、磁盘覆写、eval 远程内容node9 shield enable bash-safe
postgresDROP TABLE、TRUNCATE、DROP COLUMN、无 WHERE 的 DELETEnode9 shield enable postgres
mongodbdropDatabase、drop()、deleteMany({})、删除索引node9 shield enable mongodb
redis在线上服务器上执行 FLUSHALL、FLUSHDB、CONFIG SETnode9 shield enable redis
awsS3 删除、EC2 终止、IAM 变更、RDS 销毁node9 shield enable aws
k8s删除命名空间、helm uninstall、清除集群角色node9 shield enable k8s
dockersystem prune、volume prune、rm -f 容器node9 shield enable docker
githubgh repo delete、远程分支删除、设置变更node9 shield enable github
filesystemchmod 777、写入 /etc/、/boot/、/usr/ 目录node9 shield enable filesystem
mcp-tool-gating未经批准的 MCP 工具静默激活新能力node9 shield enable mcp-tool-gating
  • 技能锁定 — 对安装的 Claude 技能/插件在会话间进行 SHA-256 验证
  • 命令功能使用时机
    node9 blast显示 AI 代理当前可触及的内容——文件、凭据、环境变量在任何机器上首先运行
    node9 tail实时流式输出每个工具调用(纯文本,无 TUI)管道到其他工具、CI、日志
    node9 sessions会话历史,包含提示、工具调用轨迹、成本、快照审查交接或过去的工作
    node9 dlpClaude 响应文本中的凭据泄露发现任何时候 DLP 桌面警报触发
    node9 mask从本地会话历史文件中脱敏明文机密在 DLP 发现后——清理本地磁盘
    信号可能含义
    一周内 Would have blocked ≥ 5 次代理正在尝试高影响操作;值得检查护盾
    单个 review-git-push 规则占发现的 50% 以上你自己的规则按预期触发——不是风险,只是监督
    user-prompt 工具中的 DLP 发现你将一个机密粘贴到了自己的提示中——轮换该密钥
    同一文件上的代理循环 ×50+ 次代理陷入编辑/测试/修复循环——检查上下文或降低速度
    MCP 工具固定不匹配服务器更改了其工具——重新信任前需审查
    MCP 响应过大警告该服务器正在为后续每个回合膨胀你的上下文窗口
    Response DLP 警报Claude 在其响应文本中写入了机密——未阻止,立即轮换
    tool-result 中的 DLP 发现Claude 读取了包含机密的文件(.env、凭据)——轮换密钥并运行 node9 mask
    [Shell] 中的 DLP 发现~/.zshrc 或 ~/.bashrc 中有明文机密——每个 AI 会话都能看到它
    ~/.claude