关于 PromptFuzzer-MCP
PromptFuzzer-MCP 将 Garak LLM 漏洞扫描器的操作暴露为 MCP 服务,面向需要评估模型安全性的开发者。它可列出模型类型、模型和探针,运行攻击并查看最近报告。
主要功能
- 01列出支持的模型类型
- 02查询指定类型的模型
- 03列出 Garak 探针
- 04运行模型攻击测试
- 05查看最近扫描报告
适用场景
- 01盘点可扫描的模型
- 02选择探针执行安全测试
- 03查看扫描发现的漏洞
- 04通过 MCP 客户端启动扫描
MCP 相关
该服务向 MCP 客户端提供模型与探针查询、运行攻击和获取最近报告的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Garak 大模型漏洞扫描器 MCP 服务
一个轻量级的 Garak MCP(模型上下文协议)服务。
示例:
https://github.com/user-attachments/assets/f6095d26-2b79-4ef7-a889-fd6be27bbbda
提供的工具
概览
| 名称 | 描述 |
|---|---|
| list_model_types | 列出所有可用的模型类型(ollama、openai、huggingface、ggml) |
| list_models | 列出指定模型类型的所有可用模型 |
| list_garak_probes | 列出所有可用的 Garak 攻击/探测器 |
| get_report | 获取上一次运行的报告 |
| run_attack | 使用指定模型和探测器运行攻击 |
详细说明
-
list_model_types
- 列出可用于攻击的所有模型类型
- 返回支持的模型类型列表(ollama、openai、huggingface、ggml)
-
list_models
- 列出指定模型类型的所有可用模型
- 输入参数:
model_type(字符串,必需):要列出的模型类型(ollama、openai、huggingface、ggml)
- 返回指定类型的可用模型列表
-
list_garak_probes
- 列出所有可用的 Garak 攻击/探测器
- 返回可运行的探测器/攻击列表
-
get_report
- 获取上一次运行的报告
- 返回报告文件的路径
-
run_attack
- 使用指定模型和探测器运行攻击
- 输入参数:
model_type(字符串,必需):要使用的模型类型model_name(字符串,必需):要使用的模型名称probe_name(字符串,必需):要使用的攻击/探测器名称
- 返回发现的漏洞列表
前提条件
-
Python 3.11 或更高版本:本项目需要 Python 3.11 或更高版本。
# Check your Python version python --version -
安装 uv:一个快速的 Python 包安装器和解析器。
pip install uv或使用 Homebrew:
brew install uv -
可选:Ollama:如果要对 ollama 模型运行攻击,请确保 ollama 服务正在运行。
ollama serve
安装
- 克隆此仓库:
git clone https://github.com/BIGdeadLock/Garak-MCP.git
- 配置 MCP 主机(Claude Desktop、Cursor 等):
{
"mcpServers": {
"garak-mcp": {
"command": "uv",
"args": ["--directory", "path-to/Garak-MCP", "run", "garak-server"],
"env": {}
}
}
}
已测试:
- Cursor
- Claude Desktop
运行漏洞扫描
你可以使用随附的 CLI 工具直接运行 Garak 漏洞扫描。
扫描前提条件
-
Ollama 必须正在运行:
ollama serve -
拉取要扫描的模型:
ollama pull llama2
使用 CLI 扫描器
安装后,你可以使用 garak-scan 命令:
# List available Ollama models
uv run garak-scan --list-models
# Scan a specific model with all probes
uv run garak-scan --model llama2
# Scan with specific probes
uv run garak-scan --model llama2 --probes encoding
# Scan with custom output directory
uv run garak-scan --model llama2 --output-dir ./my_scans
# Run multiple parallel attempts
uv run garak-scan --model llama2 --parallel-attempts 4
扫描结果
扫描结果以 JSONL 文件的形式保存在 output/ 目录(或你指定的目录)中。每次扫描都会生成带时间戳的报告文件:
output/scan_llama2_20250125_143022.report.jsonl
GitHub Actions 集成
此仓库包含一个 GitHub Actions 工作流,可自动运行漏洞扫描:
- 触发条件:推送到 main/master、拉取请求、每周计划任务(UTC 时间每周一凌晨 2 点)
- 手动运行:前往 Actions → Garak 大模型漏洞扫描 → Run workflow
- 自定义选项:手动运行时指定模型和探测器
- 结果:扫描结果将作为工作流构件上传
启用自动扫描:
- 确保工作流文件位于
.github/workflows/garak-scan.yml - 推送到你的仓库
- 查看 Actions 选项卡中的扫描结果
后续计划
- 添加对 Smithery AI 的支持:Docker 和配置
- 改进报告
- 测试并验证 OpenAI 模型(GPT-3.5、GPT-4)
- 测试并验证 HuggingFace 模型
- 测试并验证本地 GGML 模型
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。