Devotd Github
新发现安全

adudley78/mcp-audit v0.28.0 — 为 reach 添加 fail-closed 退出码

adudley78/mcp-audit v0.28.0 为 `reach` 命令添加了 `--fail-closed` 选项,使未经验证的检查结果在 CI 门禁中不再被当作通过。

仓库信息adudley78/mcp-audit ↗

adudley78/mcp-audit v0.28.0 为 `reach` 命令添加了 `--fail-closed` 选项,使未经验证的检查结果在 CI 门禁中不再被当作通过。

GitHub 项目说明: Security scanner for MCP (Model Context Protocol) server configurations. Detects prompt injection, credential exposure, supply chain risks, and more.

星标
★ 4
复刻
1
语言
Python
许可证
Apache-2.0
最新版本
v0.21.0
查看原始来源 ↗在 GitHub 查看 ↗

adudley78/mcp-audit 发布了 v0.28.0。它是一款安全扫描器,会扫描 MCP(Model Context Protocol)服务器配置,查找提示词注入、凭据泄露和供应链风险。本次版本的实际变化包含在 2026-11-06 的提交(0e984ef)中,即为 `reach` 命令添加了 `--fail-closed` 选项。

`reach` 是一项检查,会把每个代理的就绪状态汇总成卡片展示。默认情况下,当所有代理都已就绪或无法确认时退出码为 0,即使一个代理都没找到也是 0。人来阅读卡片时这很方便,但在自动化门禁中,未确认的结果可能被读作通过。加上 `--fail-closed` 后,在找不到代理、任一代理的判定为 `couldn't check`、或扫描过程中记录到收集错误时,退出码变为 1,原因会输出到 stderr。与 `--fleet` 一起使用时,在存在跳过文件或读取的文件数超出预期、没有代理的设备、报告中残留错误的设备上也会失败,并且 fleet 读取器现在还会统计每份报告的 `errors` 条目。交互式默认值保持不变。退出码的完整表格见 docs/reach.md。

这一修正是 2026-11-06 Alekore Systems 的 Rene Atencio 在审查仓库时发现的 fail-open(失败也通过)退出问题被修正的结果,CHANGELOG 中记录了审计致谢信息。不过由于交互式默认行为保持不变,现有用户的流程不会有变化,若要让 CI 门禁更严格,就必须显式指定 `--fail-closed`。本次提交在 72 个文件中新增 38 行、删除 34 行,其中大部分是从 v0.27.0 改为 v0.28.0 的版本标注和 CHANGELOG 条目,没有记录任何改变检测准确度或性能的内容。对于已将 MCP 配置检查接入 CI 的团队来说,这是一个可以直接使用的修正,但它只是改变门禁严格程度的功能,还不能算作提升检测能力本身的变更。