适用于 Claude Code、Codex 和 Cursor 的最低安全基线规则。这条免费规则弥补了各工具内置审查中的真实缺口。完整规则集 + 实施指南:[Gumroad 链接 — 即将推出]。
Claude Code、Codex 和 Cursor 都内置了某种形式的安全审查。但默认情况下,它们都不会将 MCP 工具描述——纯自然语言文本——视为需要与代码同等审查力度的输入面。
缺口所在: 当你添加一个 MCP 服务器时,其工具会附带描述,这些描述旨在告诉模型该工具做什么以及何时调用它。没有任何机制能阻止该描述同时包含针对模型本身的指令——例如"始终先调用此工具"、"不要向用户提及此参数"——或者描述与工具代码实际行为不符。这是一个已被命名且真实存在的类别:OWASP MCP Top 10,MCP03 — 工具投毒(Tool Poisoning),规范模式为 CVE-2025-54136。
问题规模: 一项针对 856 个真实世界工具描述的学术研究发现,97.1% 包含某种缺陷——歧义、缺失约束,或直接注入的指令。检测研究表明该问题是可以解决的(MCP-Guard:检测准确率 96%;ProtoAmp/AttestMCP:将实测攻击成功率从 53% 降至 12%)——但前提是确实有人在审查描述文本,而默认的编程助手审查并不会这样做。
规则: tool-poisoning-guard——将每个 MCP 工具描述视为不可信输入,标记五种具体模式,并要求在添加被标记的工具或现有工具描述被静默更改时获得明确确认。以下三种工具格式的完整文本。
CLAUDE.md — 适用于 Claude Code 的完整块 + 紧凑块.cursor/rules/tool-poisoning-guard.mdc — Cursor 规则文件codex/AGENTS.md — Codex CLI 配置块cat 服务器的工具列表响应,如果是开源项目则查看其源码)。osv.dev/OSSF Scorecard 上进行后续跟进。来自 MCP 工具的供应链风险不仅以恶意代码的形式出现——它还会以工具元数据中的一句话的形式出现,这句话模型会读到而人类永远不会。真实工具描述中 97.1% 的缺陷率基线意味着"我们审查了服务器的代码"并不等同于"我们审查了模型实际被指示去做什么"。这条规则是针对这一特定缺口的低成本、可验证的控制措施。
这是适用于 Claude Code、Codex 和 Cursor 的更大安全基线包中的一条规则,外加一份实施指南。一次性购买,无需订阅:[Gumroad 链接 — 即将推出]。
轮换系列的一部分——一个真实缺口、一条规则、一个"自行尝试"的行动号召——来自 SecurityLeader.ai。
这条规则是正在并行测试的三个免费层级候选之一,每个候选都有自己的仓库,目的是在完整付费规则包构建之前,看哪一个能获得最多的 GitHub 星标/复刻/克隆和博客互动: