跳转到主要内容
你把一个智能体放到用户面前的那天,是发现一个越狱直接穿过你的内容策略、 或一个你忘了治理的工具在第一次运行就触发的最糟糕的一天。一次发布前的 红队把那些意外变成一个你能在上线前读到的数字——而 OrcaRouter 给你三种 产出它的方式,全都不触及你的智能体代码,也不发送一个你不打算发送的 实时请求。 本配方是那个 dry-run 过程:对照已知攻击衡量一条策略、对照你自己的 流量shadow 它,并在你提交之前模拟一个更紧的姿态。
这里的一切都是只读或沙箱化的——没有面向用户的拦截,没有生产流量受影响。 (关键词、正则和 PII 规则完全在本地运行;一条 llm_judge 规则仍会调用 它配置的模型,因此一次对 judge 策略的 eval 确实会做那次调用。)要点是 在你的条件下、在发布之前把东西弄坏。

1. 如何在发布前红队一个 AI 智能体

一次发布前红队回答三个问题,而 OrcaRouter 对每个有一个工具:

我的防护栏能捕捉攻击吗?

对照捆绑的对抗性语料库运行防护栏的 Eval 装置,并读回 precision / recall / F1。

我的防火墙会弄坏什么?

打开 shadow mode,并观察哪些真实工具调用被拒绝——而暂时不 拒绝它们中的任何一个。

一个更紧的姿态安全吗?

Simulate 一个自治级别,在你应用之前对照你的流量精确预览它会 改变什么。
第一个测试你的 防护栏(文本平面);第二和第三 测试你的 防火墙(动作平面)。一份真实的发布清单 运行全部三个。

2. 对照对抗性语料库给你的防护栏评分

知道一条内容策略能否在与攻击者接触后存活的最快方式,是向它扔一个已知 攻击的语料库并读取得分。防护栏编辑器的 Eval 标签页恰好做这个:它把 一个语料库中的每个样本通过你的当前策略重放,并把判定与每个样本的 预期结果比较——在本地对照你的规则重放语料库,绝不对照实时流量。 OrcaRouter 附带捆绑的红队语料库,因此你不必自己采购。其中包括:
语料库它是什么
advbench_harmful_behaviors标准的对抗性后缀目标集——每一行都是一条防护栏应该拦截的不安全请求。
anthropic_hh_redteam针对一个助手的真实多轮人工红队记录。
deepset_prompt_injections标注的提示注入 vs 良性请求——一个输入阶段拦截的精确率/召回率基线。
databricks_dolly_benign一个纯良性基线:一条过于严格的策略应该一个都不拦截这些。
总是把一个攻击语料库和一个良性语料库配对。一条拦截 100% 攻击但也拦截 databricks_dolly_benign 的策略并不安全——它不可用。良性运行是你的误报 预算。
对照捆绑的 deepset_prompt_injections 语料库运行一次 eval:
curl https://api.orcarouter.ai/api/guardrail/123/eval \
  -H "Authorization: Bearer <your-session-token>" \
  -H "X-Workspace-Id: <workspace-id>" \
  -H "Content-Type: application/json" \
  -d '{ "corpus_name": "deepset_prompt_injections" }'
/api/guardrail/* 路由使用你的控制台会话 / 访问令牌,而不是一个 sk-orca-... 中继密钥——并且它们通过 X-Workspace-Id 进行工作区限定。 实际中你会从控制台的 Eval 标签页运行这个;这里的 curl 是为了展示 它的形态。运行一次 eval 对任何 Member 开放。
该运行报告对照预期动作计算的检测指标:
  • TP / FP / FN / TN——真/假阳性和阴性,其中一个”假阳性”包括以错误的 动作类捕捉一个攻击(例如在你预期一次拦截时做了掩码)。
  • Precision / Recall / F1——头条数字。低召回意味着攻击溜过去;低精确 意味着你在拦截良性流量。
打开运行以逐样本检查失败、调优规则或 judge 评分标准,并重新运行直到 得分守住。自定义语料库以同样方式工作——上传你自己的 JSONL(Developer+) 以对照你产品面对的确切攻击形态测试。
提示注入防御存在于哪里。 捆绑的 Prompt-Injection Basics 预设是 一条 flag 动作上的关键词规则——它呈现常见的越狱短语以供审查而不拦截 用户。对于任何关键词列表都捕捉不到的语义注入意图,加一条 llm_judge 规则并以同样方式红队它:对照 deepset_prompt_injectionsanthropic_hh_redteam 对它做 eval 并读取 F1。参见 防护栏参考

3. 对照真实流量对防火墙做 shadow mode

一次防护栏 eval 对照一个固定语料库测试文本。相比之下,你的防火墙需要 对照你的智能体实际做什么的混乱现实来测试——而在发布前做这个的最 安全方式是 shadow mode Shadow mode 是一个按策略的标志,它让防火墙完全像在生产中那样评估并 记录每一次工具调用,但把每个执行性判定降级为 audit。一个 deny 变成一条审计行,其原因前缀为 [shadow] would …。什么都不被拦截。 什么都不弄坏。但 Events 信息流现在向你展示你的策略拒绝的调用的 精确列表。 这就是防火墙红队:编写你打算的最严格策略、把 shadow mode 翻开、让你的 智能体走一遍真实的发布彩排,然后读取 [shadow] would … 事件。
在控制台中构建你的执行策略(Developer+)——对于一次发布 dry-run, 把 default_verdict 设为 audit,并加入你打算上线的 deny 规则。 把 shadow mode 翻开。整条策略现在记录而不执行。
用一个附加了被 shadow 策略的密钥,对照网关运行你真实的智能体流程。 每一次工具调用——inbound、response、MCP 派发、egress——都被评估和记录。
打开 Firewall → Events(Developer+)并过滤 [shadow] would … 原因。其中每一个都是你的策略在生产中本会拒绝的调用。确认每一个条目 都是一个你想要拒绝的调用——并且列表上没有任何合法的东西。
一旦本会拦截的列表干净,关闭 shadow mode。紧接着的下一个匹配调用就 被真正执行——没有其他变更。
把 shadow mode 和 observe mode(一个工作区设置)配对,以求覆盖、 而不只是正确性。Observe mode 把每一次解析到没有策略的工具调用记录为 一个缺口,填充 Discovered tools 视图——这样你捕捉到的是你忘了写 规则的那个工具,而不只是你写错的那些规则。参见 执行模式

4. 在你提交之前模拟一个更紧的姿态

第三个红队动作是最便宜的:在你应用一个更严格的 自治级别 之前,模拟它。 模拟器对照你工作区近期的流量预览应用 tight(或任何级别)会改变什么 ——多少调用会翻转为 deny——而写入一条策略行。
curl "https://api.orcarouter.ai/api/workspace/firewall/simulate?level=tight" \
  -H "Authorization: Bearer <your-session-token>" \
  -H "X-Workspace-Id: <workspace-id>"
读取模拟器对任何 Member 开放。用它在发布前回答”我的智能体为 tight 准备好了吗?“:如果预览显示在你智能体依赖的调用上有一墙的本会拒绝,那么 你在 go-live 之前有规则要软化,而不是在它之后有一场事件。
Simulate 仅预览——它绝不变更你的策略。应用一个自治级别是一个独立的、 Developer+ 的动作,并且它是一个事务,带一键撤销,以防实时结果仍让 你意外。

5. 发布前红队清单

把三个过程放到一起,你就有了一道发布闸门:
过程工具何时为绿
内容策略防护栏 Eval vs 攻击 + 良性语料库攻击上高召回,良性上无拦截
动作策略防火墙 shadow mode vs 彩排流量每一个 [shadow] would … 都是有意的
覆盖Observe mode + Discovered tools没有意外的工具坐在一个覆盖缺口里
姿态Simulate 目标自治级别预览匹配你的预期
让全部四个为绿,然后执行:翻掉 shadow mode 并应用你的自治级别。因为 每个绑定都存在于网关中的密钥上,从 dry-run 到上线的转变是一次配置变更, 而不是一次部署——你的智能体像以前那样继续调用 https://api.orcarouter.ai/v1/...
输出阶段掩码和实时响应扫描仍在成熟中——一次 eval 运行在沙箱中证明一条 规则的逻辑,但在你于生产中依赖它之前,对照 防护栏注记 确认你具体的 stage 和流式组合。

6. 下一步

执行模式

Observe → shadow → enforce,本配方所彩排的安全上线。

Secure Agents 基线

每个自治级别设置什么——以及 simulate 如何预览它。

提示注入

你的防护栏 eval 正在对照评分的那个威胁。

上线

红队通过之后的生产切换。
关于每个过程背后的完整引擎,参见 防护栏防火墙 参考,以及相关威胁: 越狱dangerous-tool-calls