开源渗透测试管理工具,专为 AI 智能体操作而构建。通过 MCP 将其连接到 Claude Code,它便会与你并肩执行整个项目:范围与资产、侦察观察、方法论覆盖情况,以及带有 CVSS 和证据的发现。
为那些既想要智能体的速度、又不愿放弃真实项目纪律的测试人员而构建。工作不会重复,发现不会在会话之间蒸发,任何未经证实的内容都不会进入报告。

完整文档:https://cspf-founder.github.io/red-clippy/
编码智能体已成为真正有用的测试人员。它们拥有 shell,运行与你相同的工具,并且能快速覆盖大量范围。将一个智能体指向目标,它就能发现问题。
然后上下文窗口被填满,项目就此中断。下一次会话会重新扫描已经清理过的主机,重新测试已经排除的内容,并且无法告诉你范围的哪些部分曾被触及。在对话记录的某个角落,可能躺着一个无人记录的已确认 SQL 注入。
Red Clippy 通过赋予智能体两样它自身不具备的东西来解决这个问题。
一个存放工作成果的地方。 每个资产、观察、检查项和发现都会在测试进行时写入数据库,而不是留在滚动缓冲区里。覆盖情况变成一次查询而非一段记忆:存在哪些资产、每个资产上哪些检查项已清理、已经报告了什么。明天的会话会从上次停止的地方精确继续。
一套工作规则。 一份红队指令文档会在 MCP 握手时、智能体执行任何操作之前送达它:报告前先验证,证明每一项声明,采取展示影响所需的最小访问权限,不触碰第三方系统。可按组织和项目进行覆盖,因为不同团队和客户的内部规则各不相同。
你全程保持掌控。智能体写入的一切都是 Web UI 中的普通数据行,你可以审查、纠正、重新分类或丢弃。
[!CAUTION] 仅限授权测试。 Red Clippy 面向在项目委托下工作的渗透测试人员。仅测试你拥有或获得明确书面许可进行评估的系统。范围标记和红队指令的存在是为了让智能体遵守交战规则,但它们是护栏,而非授权。智能体以你的权限行事,你对其所做的一切仍然负有责任。
从最新发布版下载二进制文件并运行。它会设置数据库并在 127.0.0.1:7337 上提供面板服务。
Linux
tar xzf red-clippy-*-x86_64-unknown-linux-musl.tar.gz
cd red-clippy-*-x86_64-unknown-linux-musl
./red-clippy serve
Windows
解压压缩包,然后在该文件夹中执行:
.\red-clippy.exe serve
打开 http://127.0.0.1:7337,之后由设置向导接管。
数据库会在运行该二进制文件的目录中创建。上传的证据也存储在那里,位于 red-clippy-storage 中。这两个路径都可以在配置文件中更改,参见配置。
更想自己编译?参见从源码构建。
Red Clippy 将工作划分为组织。一个组织包含你的渗透测试,每个渗透测试包含该次委托的资产、发现和证据。如果你只为一家公司做测试,一个组织就足够了。如果你为多个客户提供咨询,请为每个客户建立单独的组织:一个组织看不到属于另一个组织的任何内容,因此它们的委托永远不会混在一起。
一个组织有两个名称。显示名称("XYZ Example Corp")是你在面板中看到的名称,之后可以更改。slug(xyz)是磁盘上证据文件夹中使用的简短小写标识符(red-clippy-storage/org_xyz/pentest_PT-2026-08-27/),因此一旦设定便固定不变。
你可以属于多个组织,并从头像菜单在它们之间切换。在每个组织中,你要么是所有者,可以添加和移除人员、重命名或删除组织;要么是成员,负责处理委托工作。
首次启动时数据库为空,因此浏览器会显示设置向导而不是登录表单。它会要求你提供:
它创建的账户是该组织的所有者。向导仅在数据库没有用户时出现;一旦第一个账户存在,它就会被永久禁用,因此之后无法用它来创建额外账户。
设置完成后,在应用中通过头像菜单 > 组织管理组织和团队成员。
如果没有人能登录,CLI 是恢复访问的途径:
red-clippy reset-password --username alice --password 'new-one'
预期的流程是由智能体驱动的。你先设置好工作项,然后通过 Claude Code 处理目标,同时由它持续记录。
你来设置:
随后智能体开始工作,并边做边记录:
ingest_tool_output 提交原始扫描器输出,或直接写入资产和观察记录。你来监督:
智能体是可选的。它通过面板所用的同一套 API 工作,因此它记录的任何内容,你也可以自己在浏览器中输入、纠正或删除。你可以完全手动运行一次工作项,完全通过智能体运行,或在两者之间随时切换。
这是 Red Clippy 的主要使用方式。
red-clippy mcp 覆盖整个应用:范围和资产、观察记录、方法论覆盖、发现项、证据、攻击图以及工具输出摄取。已连接的智能体会实际执行工作项,而不只是回答关于它的问题。
连接时,服务器会在 MCP 握手过程中把 Red Team Instructions 文档(测试期间行为准则的操作规程)交给客户端,因此在第一次工具调用之前它就已进入智能体的上下文。它按最具体优先的顺序解析:从每次工作项的覆盖设置,到组织默认值,再到内置文档。在 Settings > Red Team Instructions 下编辑组织默认值,或在渗透测试的设置页面设置每次工作项的覆盖。get_instructions 会按需重新读取它。
在 Settings > API keys 下签发一个。其下方的 Connect MCP 部分随后会为每个客户端提供可直接粘贴的配置,其中已填入该密钥、此服务器的 URL 以及二进制文件自身的路径。无需手动替换任何内容。
若改为通过 CLI 创建密钥,并自行粘贴到代码片段中:
red-clippy create-api-key --username alice --org xyz --name laptop
# -> rcl_<prefix>_<secret> (shown once, store it now)
claude mcp add red-clippy \
--env RED_CLIPPY_URL=http://127.0.0.1:7337 \
--env RED_CLIPPY_API_KEY=rcl_xxxx_yyyy \
-- /path/to/red-clippy mcp
add 后面的名称只是 Claude Code 显示的标签。-- 后面的命令才是它实际启动的内容,因此请使用该二进制的完整路径:Claude Code 不一定能在其 PATH 中找到 red-clippy。如果你从面板中的 Connect MCP 复制命令,正确的路径已经填好了。
z.ai 提供兼容 Anthropic 的端点,因此 Claude Code 可以用 GLM 而不是 Anthropic 模型来驱动 Red Clippy。
将以下内容添加到 Claude Code 的设置中:工作文件夹内的 .claude/settings.local.json 可将其作用域限定为单个项目,或 ~/.claude/settings.json 可将其应用于所有位置。
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your-z-ai-api-key",
"ANTHROPIC_API_KEY": "",
"API_TIMEOUT_MS": "3000000",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.3",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5.3",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-5.3",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-5.3",
"CLAUDE_CODE_SUBAGENT_MODEL": "glm-5.3"
}
}
需要替换两处内容:
your-z-ai-api-key 替换为你自己的密钥。优先使用项目本地的
.claude/settings.local.json,Claude Code 会将其排除在 git 之外,因此
密钥不会被提交。glm-5.3 替换为 z.ai 当前提供的任意模型。模型名称会变化,
因此请查阅
z.ai 的 Claude Code 指南
获取当前模型名称,并将每个条目都设置为该模型。然后按上述方式添加 MCP 服务器。Red Clippy 不受模型选择的影响: MCP 在客户端运行,因此无论智能体背后是哪个模型,工具的行为都完全相同。
根据 Codex CLI 配置,在 ~/.codex/config.toml 中:
[mcp_servers.red-clippy]
command = "/path/to/red-clippy"
args = ["mcp"]
env = { RED_CLIPPY_URL = "http://127.0.0.1:7337", RED_CLIPPY_API_KEY = "rcl_xxxx_yyyy" }
red-clippy mcp 是一个纯 JSON-RPC 2.0 stdio 服务器。它在其环境中需要两样东西,并接受一个可选的 engagement pin:
RED_CLIPPY_URL=http://127.0.0.1:7337 \
RED_CLIPPY_API_KEY=rcl_xxxx_yyyy \
/path/to/red-clippy mcp --pentest PT-2026-Q2-XYZ
--pentest 将会话绑定到单个项目,这样 agent 就不必在每次调用时都指定项目名称。每个活跃项目运行一个 MCP 条目,通过切换服务器来切换项目。
连接后,你只需提问:“向 PT-2026-Q2-XYZ 添加一条发现:/search 中的反射型 XSS,高危,这是 PoC”。
[!NOTE] 你的 agent 和
red-clippy serve运行在同一台机器上,这就是RED_CLIPPY_URL指向127.0.0.1的原因。
完整的 MCP 工具面。 与 Web UI 近乎完全对等,而非仅提供部分 token。agent 可以创建和划定资产范围、附加观察记录、标记方法论检查项、提交和更新发现、上传证据、构建图边,并在整个组织范围内搜索。
保持整洁的范围。 资产是你实际测试的单元:域名、主机、URL、API、移动应用包、IP 段。每个资产都带有自己的检查清单、可达性标记以及范围内/范围外标志。侦察噪声(发现的路径、技术指纹、证书、wayback URL)作为观察记录附加到资产上,而不是进入范围列表,只有在确实需要时才提升为资产。如果没有这种分离,一次内容发现运行就会让资产列表变得不可用。
从发现到报告。 严重性、CVSS 3.1(表单内置计算器)、CWE/CVE、PoC、修复建议以及文件证据。跨项目仪表盘列出组织中每条发现及其来源渗透测试,这正是复测所需的视图。
可查询的覆盖情况。 135 项内置检查映射到 OWASP WSTG,外加侦察、网络、云和 OSINT 检查。汇总报告按资产和按项目报告已测试的内容,因此已清理的领域不会被重复测试。

操作准则。 Red Team Instructions 文档通过 MCP 提供,按项目解析,其次按组织解析,最后使用内置默认值。
工具输出摄取。 原始扫描器输出通过单次调用提交,这是 agent 将结果从自己的 shell 移入记录的方式。支持 nmap、burp、nessus、openvas、masscan、naabu 和 subfinder 的解析器,并自动检测格式。发现、侦察和原始输出在同一事务中一并落地。
攻击图。 用自由形式的关系连接任意两个节点,然后遍历邻居或计算它们之间的最短攻击路径。
多租户。 每条记录都属于一个组织。一个用户可以属于多个组织并在不退出登录的情况下切换,因此客户数据保持隔离。
REST API。 组织范围的 bearer 密钥,与上述所有功能相同的接口面。
可选:内置扫描运行器。 一个便捷工具,用于从 Scanning 页面驱动 subfinder、nmap、masscan 和 naabu,支持按目标可恢复的覆盖。它供操作员手动使用,不属于常规的 agent 驱动工作流——在后者中,agent 运行自己的工具并摄取输出。
文档逐屏覆盖了所有这些内容,包括 MCP 工具参考、REST API 和数据模型。本 README 涵盖如何启动和运行。
设置来自 TOML 文件。red-clippy serve 默认读取 ./red-clippy.toml。复制示例并编辑:
cp red-clippy.toml.example red-clippy.toml
bind = "127.0.0.1:7337"
database_url = "sqlite://red-clippy.db?mode=rwc"
storage_root = "./red-clippy-storage" # uploaded evidence lives here
max_upload_bytes = 26_214_400 # 25 MiB