SuperAPI AI 工具集

auditing-mcp-servers

智能体与模型

查看项目

更新于 10-16 02:30

技能介绍

用途:用于审查 MCP 服务器实现,把 MCP 服务器视为权限边界——它把模型生成的请求转换为真实动作(数据库查询、文件操作、API 调用、shell 命令),因此每个工具参数都是间接注入面。适用场景包括:审查 MCP 服务器安全、评估工具定义的注入风险与描述操纵、审计 AI 智能体与 MCP 工具之间的信任边界、检查部署的鉴权授权、评估资源数据过度暴露、检查 stdio/SSE/Streamable HTTP 传输配置。

不适用:不含 MCP 的通用 AI/LLM 安全(如提示注入)应使用 securing-ai-systems;服务器代码库的常规源码审计应使用 auditing-code-for-vulnerabilities;把 HTTP 传输当 REST API 测试应使用 testing-apis。

主要审查项:1) 工具定义——描述准确性、描述中面向模型的指令注入、参数 schema 完整性、危险默认值(如 recursive、force)及隐藏参数;2) 输入校验——每个参数源自模型输出,追踪参数到 SQL、shell、文件路径、HTTP、eval/模板等 sink,测试 SQL/命令/路径遍历/LDAP/模板/NoSQL 注入;3) 鉴权授权——stdio 无内置认证,HTTP 传输应使用 OAuth 2.0 或 API key,检查逐请求认证、逐用户授权、令牌轮换与吊销,OAuth 需禁止令牌透传、校验受众(RFC 8707)并发布 /.well-known/oauth-protected-resource 元数据;4) 资源暴露——范围、PII 与密钥、动态可写内容、访问控制;5) 传输安全——TLS、CORS、会话管理、DNS 重绑定防护、限流与请求大小限制;6) 最小权限——只读工具不应有写权限,限制文件系统范围与网络出口,避免 shell 执行或改用 execFile;7) 提示注入——工具输出、资源内容及跨服务器描述注入;8) 部署——OS 权限、容器能力、出网过滤、密钥管理、日志脱敏、更新机制与版本固定。

用法示例:可通过 stdio 提取工具定义,命令为 echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node server.js 2>/dev/null | jq '.result.tools[] | {name, description, inputSchema}'。

限制与说明:资料未提供该技能的具体安装命令、运行方式、收费标准与支持平台信息,暂未提供。审计中应避免的合理化借口包括“模型不会生成恶意参数”“stdio 无网络暴露”“在描述里校验输入”等。