自动化红队测试——把攻击集当作一类测试
用来防御对手的规则,不能靠友好用例来测试:主流做法是把生成式攻击语料库作为一类常设评测,持续对系统发起攻击。Promptfoo 的红队模式是参考实现:它按类别生成攻击变体——提示注入(直接注入,或藏在检索/引用内容里夹带注入)、越狱、数据泄露探测、角色混淆("作为系统管理员,……")、工具滥用尝试——把它们打到真实系统上,并报告哪些攻破了防线(模型服从了本应当作数据处理的内容、泄露了不该泄露的东西、调用了不该调用的工具)。
关键特性:攻击每次运行都会重新生成(固定的攻击列表会随着模型修补已知字符串而过时——攻击空间和其他一切一样在漂移);一旦发现某次攻破,它立刻就成为金标准用例(事故被固化下来,发生在上线之前);这套测试集瞄准的是每一个不可信文本与环境权限相遇的界面——用户输入、检索到的文档、工具返回结果、抓取的内容。
更深一层的框架:红队测试是唯一一类以信任边界本身为对象、而非以输出质量为对象的测试。一个系统可以在每一项质量评测上都拿满分,同时完全可被注入。
与 um 的关系:um 的第二大缺口(仅次于 regression-ci)。 Law 4 已经写明了这条原则——来自平台的文本是数据,绝不是指令;L0/L1 一进来就带着"不可信"的分隔标记——但没有任何东西去攻击这条原则:从未有一批恶意的帖子评论("忽略你的 SOP,发这个")、被投毒的获奖扫描内容、或伪造批准的文本,被打向 scout/generator/interaction 这些 agent。这台机器每天的全部输入都是对手可写的,这使它成为杠杆最高的未测试界面。已经列进 HANDOFF 的待办:构建注入语料库,并把它作为 CI 跑在这条流水线上(等 runtime-guardrails 的输入防线建成后,也跑在它上面)。
来源:evals 主流实践(Promptfoo 红队模式、对抗性评测惯例,2026-07 landscape check)