最后更新:2026-10-23
想提高自己和客户的 AI 防护水平,正确做法不是公开发越狱指南,而是用正规开源红队工具,对你拥有或已获书面授权的模型接口做自动化测试。OWASP LLM01 也把对抗测试列为缓解策略之一(OWASP)。本教程覆盖三款主流工具的安装级用法、如何指向你自己的 API、如何读报告——不会粘贴任何攻击提示词或载荷;探针内容由工具维护,你只需看结果。
概念基础见破甲防护清单;手法对照见越狱提示词为什么有效。

一、三款工具怎么选
| 工具 | 维护方 | 擅长 | 学习曲线 | 官网 / 文档 |
|---|---|---|---|---|
| garak | NVIDIA | 漏洞扫描式探针(注入、越狱、泄露、毒性等),CLI 友好 | 低–中 | GitHub · docs.garak.ai |
| PyRIT | Microsoft | 可编排的单轮/多轮攻击策略框架、记忆与评分器 | 中–高 | PyRIT 文档 |
| promptfoo | 开源社区 | 应用级红队、OWASP 映射报告、CI/CD 友好 | 低 | promptfoo red team |
实用组合:日常回归用 promptfoo 或 garak;要深挖多轮策略用 PyRIT。
二、法律与安全前提(必读)
- 只测试自己的模型、自家 API Key、或合同明确授权的环境。
- 不要把工具生成的失败样例(可能含有害内容)发到公网或客户群。
- 在隔离环境跑;API Key 用环境变量,不写进仓库。
三、garak:安装与扫描自己的接口
3.1 安装
python -m pip install -U garak
garak --list_probes
官方说明见 NVIDIA/garak README。Python 版本以官方当前要求为准(文档常见要求 3.11+)。
3.2 指向 OpenAI 兼容接口(示例结构)
export OPENAI_API_KEY="你的密钥"
garak --target_type openai --target_name 你的模型名 --spec probes.promptinject
把 你的模型名 换成你实际调用的部署名。也可用 huggingface、rest 等 generator(见官方 generators 文档)。用 --spec 限制探针族,避免第一次就跑全集导致费用失控。
3.3 怎么读结果
终端会对每个探针给出通过/失败与失败率。出现 FAIL 不代表“立刻不能上线”,而表示该探针族在当前配置下触发了不期望行为——应结合业务风险决定是否阻断发布,并把样例留给安全同事在隔离环境分析。不要把失败样例当教程传播。

四、promptfoo:应用级红队与 CI
npm install -g promptfoo
promptfoo redteam init
promptfoo redteam run
按向导填写你的应用端点与用途;工具会生成并执行测试,输出带 OWASP 类别映射的报告(见 官方红队指南)。适合接到 PR 流水线:模型或提示词变更即回归。
五、PyRIT:框架型深测
PyRIT 提供可组合的目标(Target)、转换器(Converter)、评分器(Scorer)与多轮策略(如文档所述的 Crescendo、TAP、Skeleton Key 等策略名——此处仅列官方策略名称,不附带提示词)。安装与入门见 PyRIT 文档。适合安全工程团队写定制剧本,而不是第一次接触红队的业务同学。
六、红队落地清单(可引用)
| 步骤 | 动作 | 完成标准 |
|---|---|---|
| 1 | 划定被测端点与数据分级 | 书面范围 + 负责人 |
| 2 | 选工具(garak/promptfoo/PyRIT) | 安装成功,能列出探针/插件 |
| 3 | 跑基线(限制探针范围与样本数) | 有第一份报告 |
| 4 | 对 FAIL 分级(文本有害 / 工具越权 / 数据泄露) | 有风险表 |
| 5 | 修复:过滤、权限、人审、提示词 | 代码或配置合并 |
| 6 | 复测 + 接入 CI | 主分支变更触发 |
| 7 | 归档报告(访问控制) | 仅安全与研发可读 |

七、红队成熟度评分器
大模型红队测试成熟度(勾选已做到的项,浏览器本地计分,不上传数据)
八、费用与样本量控制(实操)
| 做法 | 目的 | 注意 |
|---|---|---|
| 先 –list_probes / 查看插件列表再选型 | 避免无目的跑全集 | 文档与版本会更新 |
| 限制 –spec 到 promptinject 等族 | 控制 token 花费 | 覆盖面变窄,需轮换 |
| 对 staging 端点测,不对生产写工具 | 防误操作 | 配置要尽量接近生产 |
| 固定随机种子或记录 run id | 结果可对比 | 模型本身仍有随机性 |
| 失败样例入库加密 | 防二次传播 | 访问仅限安全组 |
Microsoft 介绍 PyRIT 时强调其面向 GenAI 风险识别与红队编排(见 PyRIT 文档);promptfoo 则强调可把红队接进 CI/CD(见 promptfoo red team)。选工具的关键不是“谁探针最多”,而是你能否每周稳定跑通并推动修复。
九、与防护专文的配合顺序
- 先读概念:破甲防护清单;
- 再看手法与对照表:越狱提示词为什么有效;
- 用本教程建立红队基线;
- 若产品是 Agent,接上Agent 防护清单。
十、常见问题(FAQ)
10.1 . 红队是不是就是找越狱提示词?
红队是系统化验证防护是否失效;企业应使用工具与流程,而不是传播提示词包。
10.2 . 第一次该跑全集探针吗?
不建议。先跑 promptinject / 与业务相关的子集,控制费用与噪音。
10.3 . 测第三方 SaaS 可以吗?
除非合同授权,否则不要对他人服务做对抗测试。
10.4 . 和渗透测试公司什么关系?
工具适合持续回归;高风险行业仍可请有经验的团队做人工红队。
十一、熊猫出海可以提供什么帮助
熊猫出海是香港出海服务商,除海外广告投放、GEO/AI 搜索优化和多语言网站外,还可提供大模型安全评估与防护方案咨询:梳理 AI 客服、智能体与 RAG 应用的攻击面,对照 OWASP、NIST、MITRE ATLAS 等框架给出越狱与提示词注入防护建议。欢迎访问熊猫出海官网联系我们。术语见出海广告与 AI 术语表,入门科普见AI大模型破甲防护清单。
引用本页:熊猫出海 pandawm.com《出海AI产品红队测试教程:用 garak、PyRIT、promptfoo 做越狱与提示词注入自测(安装、跑自己的模型、读报告,2026)》,https://www.pandawm.com/blog/llm-red-team-garak-pyrit-promptfoo-tutorial.html

微信扫一扫打赏
支付宝扫一扫打赏
