mcpField
A
audit-gap-auditor

audit-gap-auditor

本地服务
github.com/GuardBee安全11 天前更新

关于 audit-gap-auditor

这款 MCP 服务检查 MCP 服务源代码中的 OWASP MCP08 审计与遥测缺口,帮助开发者发现调用记录缺失、不安全日志、审计禁用和错误被静默忽略等问题。

主要功能

  1. 01扫描源代码文本、文件和目录
  2. 02检测缺失的工具调用审计记录
  3. 03标记日志中的原始工具参数或结果
  4. 04查找审计禁用和工具错误静默处理
  5. 05以 SARIF 格式报告发现

适用场景

  1. 01发布前审查 MCP 服务
  2. 02查找被写入日志的敏感参数
  3. 03检查工具错误是否被静默忽略

MCP 相关

提供 MCP 工具,用于扫描源代码文本、文件和目录,并列出 MCP08 审计检查项。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"guardbee-audit-gap-auditor": {
"command": "npx",
"args": [
"-y",
"@guardbee/mcp-audit-gap-auditor"
]
}
}
}
启动命令npx -y @guardbee/mcp-audit-gap-auditor

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@guardbee/mcp-audit-gap-auditor0.3.2

工具

4

收录的工具列表 · 更新于 1 周前

参数类型必填说明
labelstring否在发现结果中显示的可选标签(例如文件名)
contentstring是要扫描的代码内容

详细介绍

@guardbee/mcp-audit-gap-auditor

🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch

npm version npm downloads License: MIT

一个 MCP 服务,用于审计 MCP 服务源码是否存在 OWASP MCP08:2025 — 审计与遥测不足 问题。

security-proxy 已在网关处写入哈希链审计日志。此软件包要检查的是另一个问题:运行工具时,MCP 服务本身 是否会留下可用且不会泄露信息的记录?

默认情况下,遥测处于关闭状态。设置 GUARDBEE_TELEMETRY=1 后,它会发送服务、工具、成功状态、耗时以及文件路径等较短的参数值;较长的字符串以及 content、token 或 password 等字段会替换为占位符。请参阅 @guardbee/mcp-telemetry。

Claude ──► audit-gap-auditor ──► MCP server source
              │
              ├─ missing-telemetry  (tools registered, no audit/log/telemetry of invocations)
              ├─ unsafe-logging     (raw tool args or results written to logs)
              ├─ disabled-audit     (audit/telemetry hard-disabled in source)
              └─ silent-failure     (tool errors swallowed with an empty catch)

检查项

模式严重级别OWASP含义
mcp_server_without_tool_audit高MCP08:2025McpServer / FastMCP 注册了工具,但文件中从未提及审计/遥测
raw_tool_args_logged严重MCP08:2025console/logger 记录了完整的 args/params/input 对象
raw_tool_result_logged高MCP08:2025记录了完整的 result / toolResult
audit_disabled_in_code高MCP08:2025audit: false、enableAudit: false、GUARDBEE_TELEMETRY=0 等
tool_error_swallowed_silently中MCP08:2025工具处理程序中的 catch 为空或仅包含 return
audit_log_without_correlation_id中MCP08:2025audit.log({…}) 中没有 sessionId / requestId / 类似字段

日志检查只会在看起来像 MCP 工具服务的文件中运行,因此会忽略其他位置普通的 console.log(args) 辅助代码。

快速开始

{
  "mcpServers": {
    "guardbee-audit-gap-auditor": {
      "command": "npx",
      "args": ["-y", "@guardbee/mcp-audit-gap-auditor"]
    }
  }
}
npx @guardbee/mcp-audit-gap-auditor scan ./src --fail-on=high --format=sarif > results.sarif

工具

工具用途
scan_text扫描源代码字符串
scan_file扫描单个文件
scan_directory递归扫描
list_patterns列出 MCP08 检查项

guardbee.yml:

audit-gap-auditor:
  fail-on: high
  max-files: 5000
  exclude:
    - "fixtures/"

反馈

有疑问、想法或发现误报?请在 GitHub Discussions 中发起讨论,或提交问题。如果 GuardBee 对你有帮助,请在代码仓库点一个 ⭐,帮助更多人发现它。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。