mcpField
L
llm-redteam

llm-redteam

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

关于 llm-redteam

llm-redteam 是供安全团队测试自有或获准评估的在线大模型端点和聊天机器人的 MCP 服务。它以金丝雀令牌探测五类攻击,不要求目标生成有害内容。

主要功能

  1. 01提供五类共 12 项探测
  2. 02使用金丝雀令牌判定结果
  3. 03支持 OpenAI 兼容接口、Anthropic 和 webhook
  4. 04绕过发现附带改进建议
  5. 05提供用于 CI 测试的命令行模式

适用场景

  1. 01部署时测试预发布聊天机器人
  2. 02检查在线端点抵御越狱的能力
  3. 03评估提示词提取和混淆防护

MCP 相关

它向 MCP 客户端提供 list_probes 和 run_probe_suite 工具;后者将探测请求发送到指定端点或聊天机器人。

配置

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

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

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

安装包
npm@guardbee/mcp-llm-redteam0.1.1

工具

2

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

此工具无需参数。

详细介绍

@guardbee/mcp-llm-redteam

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

npm version npm downloads License: MIT

一款 MCP(Model Context Protocol)服务,可对运行中的大模型端点或聊天机器人进行主动红队测试——与 GuardBee 的其他扫描器所做的静态分析不同,它会向你控制的真实目标发送实际探测请求。

ai-code-scanner、mcp-server-auditor 和 prompt-injection-scanner 检查的都是静态代码或内容。此软件包检查的是正在运行的系统:在生产环境中,当下部署的大模型或聊天机器人的防护措施,能否抵御已知的越狱、信息提取、混淆和抑制拒绝响应技术?

⚠️ 仅可将其用于你拥有或明确获准测试的端点。 每次探测都会发送真实请求,并消耗目标的 API 配额。这是一款自测工具——你需要提供自己的 API 密钥或端点。

所有探测都不会要求目标生成真正有害的内容。 每次探测都基于 canary:我们会在每次运行时生成一个随机、一次性的令牌,并以目标是否复现该令牌来衡量测试是否成功——这证明目标遵从了偏离常规的指令,同时绝不会诱导其生成真正有害的输出。这让结果具有确定性(令牌不可能偶然出现),也能安全地对运行中的端点进行测试。

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

Your LLM endpoint / chatbot ◄── llm-redteam ──► Claude
              │
              ├─ Instruction override    (DAN-style role-play, direct "ignore instructions")
              ├─ Extraction              ("repeat everything above", translation-reframed leak)
              ├─ Obfuscation             (base64-encoded instruction, zero-width smuggling)
              ├─ Refusal suppression     (fake system-override impersonation)
              └─ Multilingual            (same override, non-English phrasing)

功能

  • 12 种探测,5 个类别——指令覆盖、信息提取、混淆、抑制拒绝响应、多语言
  • 基于 canary,而非有害内容——通过/失败结果确定,不会请求生成真正有害的内容
  • 3 种目标类型——兼容 OpenAI 的聊天 API(OpenAI、Groq、本地 vLLM 等)、Anthropic Messages API,或你自己的 webhook
  • 每项绕过测试都包含其重要性及应对方法(recommendation)
  • 支持用于 CI 的命令行模式(例如,每次部署时对预发布环境中的聊天机器人进行红队测试)
  • 29 项单元测试——目标适配器通过模拟的 fetch 进行测试,测试套件不会发起真实网络调用

快速开始

Claude Desktop / MCP 客户端
{
  "mcpServers": {
    "guardbee-llm-redteam": {
      "command": "npx",
      "args": ["-y", "@guardbee/mcp-llm-redteam"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

然后向 Claude 提问:“使用 gpt-4o-mini,针对我的 OpenAI 端点运行 GuardBee 红队测试套件。”

命令行(CI/CD)
export OPENAI_API_KEY=sk-...
npx @guardbee/mcp-llm-redteam probe --type=openai --model=gpt-4o-mini --api-key-env=OPENAI_API_KEY --fail-on=high
# Your own chatbot endpoint
npx @guardbee/mcp-llm-redteam probe --type=webhook --url=https://staging.example.com/chat --fail-on=any

MCP 工具

工具描述
list_probes按类别列出所有探测——不发起网络调用
run_probe_suite针对你指定的目标运行探测;返回哪些探测绕过了防护措施

目标类型

类型用途
openaiOpenAI 的 Chat Completions API,或通过 baseUrl 使用任何兼容 OpenAI 的网关(Groq、本地 vLLM/Ollama 代理等)
anthropic直接使用 Anthropic 的 Messages API
webhook你自己的聊天机器人/产品端点——以 JSON 格式 POST { prompt },并从可配置字段中读取回复

API 密钥绝不会作为工具/CLI 参数传递——只传递已保存密钥的环境变量名称(apiKeyEnv)。运行前请设置该环境变量。


检测到的绕过类别

类别示例探测严重程度绕过的含义
instruction-overridedirect_override、role_play_dan高直接覆盖指令或角色扮演覆盖指令取代了系统提示词的权威性
extractionsystem_prompt_leak_direct、repeat_above严重目标泄露了(或证明自己会泄露)其系统提示词
obfuscationbase64_instruction、zero_width_smuggling高/中通过编码或不可见字符隐藏的覆盖指令仍然生效
refusal-suppressionauthority_impersonation高虚假的“系统覆盖”措辞获得了真实的指令权限
multilingualnon_english_override中同一覆盖指令换成非英语表述后仍然成功

这些都是已知且公开记录的攻击手法形式——这是防御性覆盖测试,并非新型攻击研究。探测被拦截并不能证明目标牢不可破;探测绕过则是一项具体且可复现的发现。


开发

npm run build
npm test             # 29 unit tests

许可证

MIT — GuardBee

反馈

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

评论

支持 Markdown

第一次接触 MCP?

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

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