腾讯朱雀实验室推出的一款全面、智能、易用且轻量化的AI基础设施漏洞发现与MCP Server安全风险扫描工具。
- 全面的安全检测能力
- 支持9类MCP常见安全风险检测,并持续更新。
- 支持28种AI组件框架识别,涵盖200+漏洞指纹。
- 支持私有化部署,方便集成到内部安全扫描流水线。
- 智能易用的功能体验
- MCP安全检测由AI Agent驱动,一键智能分析。
- AI组件漏洞扫描支持自定义指纹和漏洞YAML规则。
- 开箱即用,无需复杂配置,提供Web界面可视化操作。
- 轻量级设计
- 核心组件简洁高效。
- 二进制体积小,资源占用低。
- 跨平台支持(Windows/MacOS/Linux)。
AI Infra Guard 致力于提供专业的MCP安全检测与安全认证解决方案。我们欢迎MCP市场、开发者平台与托管商将我们的工具集成到MCP Server上架前的安全扫描流程中,并在MCP市场中展示扫描结果,共同打造更安全的MCP生态。
如果您有兴趣与我们合作,欢迎通过 zhuque [at] tencent.com 联系腾讯朱雀实验室。
我们也欢迎您在MCP社区中分享您的实践落地案例。
AI Infra Guard 包含三大核心模块:
- AI组件安全扫描 (
scan
): 在命令行中检测AI基础设施中Web类组件的已知安全漏洞。 - MCP安全检测 (
mcp
): 在命令行中基于AI Agent检测MCP Server代码的安全风险。 - WebUI模式 (
webserver
): 启用Web可视化操作界面。
从 Releases 页面下载适合您操作系统的最新版本。
AI Infra Guard 采用子命令结构:
./ai-infra-guard <子命令> [选项]
主要子命令:
scan
: 执行AI组件安全漏洞扫描。mcp
: 执行MCP Server代码安全检测。webserver
: 启动Web界面服务器。
启动Web服务器,默认监听 127.0.0.1:8088
:
./ai-infra-guard webserver
指定监听地址和端口:
./ai-infra-guard webserver --ws-addr <IP>:<PORT>
例如: ./ai-infra-guard webserver --ws-addr 0.0.0.0:9090
本地一键检测 (扫描本地常见服务端口):
./ai-infra-guard scan --localscan
扫描单个目标:
./ai-infra-guard scan --target <IP/域名>
例如: ./ai-infra-guard scan --target example.com
扫描多个目标:
./ai-infra-guard scan --target <IP/域名1> --target <IP/域名2>
例如: ./ai-infra-guard scan --target 192.168.1.1 --target example.org
从文件读取目标:
./ai-infra-guard scan --file target.txt
target.txt
文件每行包含一个目标URL或IP地址。
查看 scan
子命令完整参数:
./ai-infra-guard scan --help
scan
子命令参数说明:
Usage:
ai-infra-guard scan [flags]
Flags:
--ai 启用AI分析 (需要配置LLM Token)
--check-vul 验证漏洞模板有效性
--deepseek-token string DeepSeek API令牌 (用于 --ai 功能)
-f, --file string 包含目标URL的文件路径
--fps string 指纹模板文件或目录 (默认: "data/fingerprints")
--header stringArray 自定义HTTP请求头 (可多次指定, 格式: "Key:Value")
-h, --help 显示帮助信息
--hunyuan-token string 混元API令牌 (用于 --ai 功能)
--lang string 响应语言 (zh/en, 默认: "zh")
--limit int 每秒最大请求数 (默认: 200)
--list-vul 列出所有可用的漏洞模板
--localscan 执行本地一键扫描
-o, --output string 结果输出文件路径 (支持 .txt, .json, .csv 格式)
--proxy-url string HTTP/SOCKS5 代理服务器URL
-t, --target stringArray 目标URL (可多次指定)
--timeout int HTTP请求超时时间(秒) (默认: 5)
--vul string 漏洞数据库目录 (默认: "data/vuln")
此功能基于AI Agent自动检测MCP Server代码中的安全问题。
基本使用 (默认使用 OpenAI API,需提供 Token):
./ai-infra-guard mcp --code <源代码路径> --model <模型名称> --token <API令牌> [--base-url <API基础URL>]
例如: ./ai-infra-guard mcp --code /path/to/mcp/server --model gpt-4 --token sk-xxxxxx
指定输出格式:
./ai-infra-guard mcp --code <源代码路径> --model <模型名称> --token <API令牌> --csv results.csv --json results.json
查看 mcp
子命令完整参数:
./ai-infra-guard mcp --help
mcp
子命令参数说明:
Usage:
ai-infra-guard mcp [flags]
Flags:
--base-url string LLM API基础URL (可选, 覆盖默认 OpenAI URL)
--code string 待扫描的MCP Server源代码路径 (必需)
--csv string 将结果输出为 CSV 文件路径
-h, --help 显示帮助信息
--json string 将结果输出为 JSON 文件路径
--log string 日志文件保存路径
--model string AI模型名称 (必需, 例如: gpt-4, gpt-3.5-turbo)
--plugins string 指定启用的插件列表 (英文逗号分隔, 可选)
--token string LLM API令牌 (必需)
AI Infra Guard 可检测以下常见的MCP安全风险,并持续更新:
风险名称 | 风险说明 |
---|---|
工具投毒攻击 | 恶意MCP Server通过工具描述注入隐藏指令,操纵AI Agent执行未授权操作(例如窃取数据、执行恶意行为)。 |
地毯式骗局 | 恶意MCP Server在初期表现正常,但在用户批准或运行若干次后改变行为,执行恶意指令,导致难以察觉的恶意行为。 |
工具覆盖攻击 | 恶意MCP Server通过隐藏指令重新定义其他可信MCP Server工具的行为(例如修改邮件接收者、执行额外操作)。 |
恶意代码/命令执行 | MCP Server若支持直接执行代码或命令且缺乏沙箱隔离,可能被攻击者利用在服务器或用户本地执行恶意操作。 |
数据窃取 | 恶意MCP Server诱导AI Agent读取并传输敏感数据(例如API密钥、SSH密钥),或直接将用户授权输入的数据发送至外部服务器。 |
未授权访问/鉴权不当 | MCP Server缺乏有效授权认证或存在缺陷,导致攻击者可绕过验证访问受限资源或用户数据。 |
间接提示词注入 | MCP Server将包含恶意指令的外部数据(例如网页、文档)输出给AI Agent,可能影响AI Agent的决策和行为。 |
包名混淆与抢注攻击 | 恶意MCP Server使用与可信服务相似的名称、工具名或描述,诱导AI Agent错误调用;或第三方抢注官方MCP Server名称,植入后门。 |
明文存储密钥 | MCP Server在代码或配置文件中硬编码或明文存储敏感密钥,易导致泄露风险。 |
AI Infra Guard 支持检测多种AI相关组件的已知漏洞:
组件名称 | 漏洞数量 |
---|---|
anythingllm | 8 |
langchain | 33 |
Chuanhugpt | 0 |
clickhouse | 22 |
comfy_mtb | 1 |
ComfyUI-Prompt-Preview | 1 |
ComfyUI-Custom-Scripts | 1 |
comfyui | 1 |
dify | 11 |
fastchat-webui | 0 |
fastchat | 1 |
feast | 0 |
gradio | 42 |
jupyterlab | 6 |
jupyter-notebook | 1 |
jupyter-server | 13 |
kubeflow | 4 |
kubepi | 5 |
llamafactory | 1 |
llmstudio | 0 |
ollama | 7 |
open-webui | 8 |
pyload-ng | 18 |
qanything | 2 |
ragflow | 2 |
ray | 4 |
tensorboard | 0 |
vllm | 4 |
xinference | 0 |
triton-inference-server | 7 |
总计 | 200+ |
注:漏洞库持续更新中。
AI Infra Guard 使用基于YAML的规则进行Web指纹识别和漏洞匹配。
- 指纹规则: 存储在
data/fingerprints
目录。 - 漏洞规则: 存储在
data/vuln
目录。
info:
name: gradio
author: Security Team
severity: info
metadata:
product: gradio
vendor: gradio
http:
- method: GET
path: '/'
matchers:
# 匹配响应体中是否包含Gradio特有的JavaScript配置或元素
- body="<script>window.gradio_config = {" || body="document.getElementsByTagName(\"gradio-app\");"
title
: HTML 页面标题body
: HTTP 响应正文header
: HTTP 响应头icon
: 网站图标 (favicon) 的哈希值
=
: 模糊包含匹配 (大小写不敏感)==
: 精确等于匹配 (大小写敏感)!=
: 不等于匹配~=
: 正则表达式匹配&&
: 逻辑与||
: 逻辑或()
: 用于分组,改变运算优先级
我们欢迎社区的贡献!
- 报告问题: 提交 Issue
- 提交代码: 发起 Pull Request
本项目基于 MIT 许可证 开源。详细信息请查阅 License.txt 文件。