跳转到主要内容
你已经读完一个控制页面,发布之前还剩一个问题。这就是 ai 智能体安全 faq ——那些贯穿整个零信任章节的横切问题,集中解答于一处,每一个都链接到供 深入了解的参考。 如果你对这个章节完全陌生,从 保护 AI 智能体控制栈 开始;本页假设你已经知道有 两个执行平面——防护栏(提示词/响应文本)和 防火墙(智能体动作)——并且只需要把那些边角 钉死。

1. ai 智能体安全 faq —— 从这里开始

一张 30 秒的地图,告诉你哪个控制回答哪个问题:
你在问的是…平面阅读
提示词或响应里的文本(PII、密钥、越狱)防护栏防护栏
工具调用、MCP、egress、技能防火墙防火墙
一个 400 上是哪个触发了两者皆可为什么被拦下了?
托管网关上的每一次安全拦截都是 HTTP 400,带一个机器可读的 code。 先读这个错误码——它把你岔向正确的信息流。完整的表在 错误码

2. 防护栏 —— 内容筛查

什么也不会发生。解析是:密钥上的显式 guardrail_id(如果它存在且已 启用)→ 否则工作区的 is_default 防护栏 → 否则不执行。一个被禁用 的显式附加就是那个关闭开关——它会回退到默认值。当没有解析出 任何东西时,该请求与一个从未启用该功能的工作区字节相同。
不会。一个 block 动作返回 400 guardrail_blocked 且不消耗配额—— 一个输入阶段拦截在计量之前触发;一个输出阶段拦截退回预先扣除的 配额。它也被标记为 skip-retry:重新运行那个完全相同的提示词只会 再次被拦。
规则类型:keywordregexpiimax_charsexternalllm_judgegrounding。动作:block(拒绝)、mask(脱敏并转发)、 flag(仅记录,不改变流量)。阶段:inputoutputboth。各项参见 防护栏
内置实体包括 emailphonecredit_cardssnipibanmac_addressjwtaws_access_keyapi_key_openaibitcoin_address,外加区域类型(jp_mynumberkr_rrncn_resident_id)。一个 mask 动作渲染一个类型化标签—— jane@acme.com[EMAIL],一个 SSN → [SSN]。你可以在每条规则上 叠加最多 25 个自定义正则实体(附一个可选的 Luhn 校验和),并经由 entity_actions 逐实体覆盖动作。
输出 block 两种方式都执行——非流式响应在返回前被筛查,而一个流式 扫描器会中途切断流。输出 mask 目前仅限非流式;在一个流式响应上 分块会未脱敏地通过(带内流改写在路线图上)。输入阶段脱敏——在模型看到 请求之前对其消毒——无论如何都已上线。PII Shield 预设当下在输入 阶段脱敏。
keyword / regex / pii / max_chars 规则不做模型调用,也不计费。 一条 llm_judge 规则经由一个工作区模型运行一次语义检查(受 judge_timeout_ms 约束,默认 fail-open),并作为一个单独的 judge 子项计费。一条 grounding 规则以同样的方式对照请求检索到的 来源为答案忠实度评分(阈值默认 0.7)。
打开 Matches 信息流(GET /api/guardrail/match,Member)。每一行 记录规则类型、动作、阶段和一个详情字符串——而匹配的子串仅当该防护栏 开启了 “Log raw content” 时(默认关闭,隐私保守的姿态)。拦错了?把它 标记为误报(POST /api/guardrail/match/:id/mark-fp,Admin)。
一个防护栏可以用一条代码安全公告(例如对一个被引用包的 CVE/SBOM 备注)装点一个提示词,而不拦截或脱敏文本。这是一个增补请求而非拒绝它 的注释层——有别于你直接编写的 block / mask / flag 动作。在 Integrations 下连接一个扫描器来驱动它。

3. 防火墙 —— 智能体动作

一个关键差异:一条被禁用的已附加防火墙策略会回退到工作区默认值, 而一条被禁用的已附加防护栏解析为无(none)。除此之外,两者都经由 密钥附加(firewall_policy_id / guardrail_id)并共享工作区默认值 回退。参见 防护栏 vs 防火墙
判定:allowauditdenysanitizepending_approvalcap_costdefault_verdictallow / audit / deny(默认 audit)。执行面:inbound(被声明的工具)、response (模型发出的 tool_calls)、mcp(一次 tools/call)、egress (出站 host/IP/CIDR)。 判定词汇表 解码各项。
不会——而这是常见的误解。一个 sanitize 判定只从工具调用参数中 脱敏匹配的子串,绝不脱敏一个工具返回的内容。在 inbound 执行面上 (此时还没有调用时参数),sanitize 会升级为一次拒绝。
一个开关设置你的整体姿态,写入真实可编辑的 autonomy_* 行:
balanced(推荐起点)—— 默认 audit,对破坏性 shell 执行 deny,PII Shield 处于仅审计(flag PII)。
tight —— 默认拒绝,deny 破坏性 shell,deny SSRF 形态的 fetch 工具,PII Shield + Secrets Blocker 执行。
permissive —— 仅观察。
一键撤销从应用所写的审计快照恢复到先前状态。它是单一步骤——一旦一次 更晚的应用(或一次手动策略编辑)取代了那个快照,撤销就不可用。参见 执行模式
并非按预设。tight 自治 SSRF 预设拒绝的是常见的 fetch 形态工具名http_fetchweb_searchfetch_urlrequest)。要按目的地拒绝 ——RFC-1918 范围、云元数据 IP、特定 CIDR——编写你自己的 egress 执行面 host/CIDR 拒绝规则。没有任何预设为你提供 CIDR 规则。参见 Egress 与数据外泄
打开影子模式(逐策略):策略进行评估和记录,但把每个执行性判定 降级为 audit,原因前缀 [shadow] would …。观察 EventsRuns 视图,然后关闭影子模式以执行。工作区级别的观察模式firewall_observe_mode)是互补的发现旋钮——它把未覆盖的调用记录 为 Discovered Tools 里的缺口。
一个 pending_approval 判定返回 400 firewall_approval_pending,带一个 审批 id。一名审查者从控制台(Developer+)经由一个 HMAC webhook 回调(POST /api/v1/firewall/approvals/:id/callback)解决它。智能体 轮询 GET /api/v1/firewall/approvals/:id 并携带一次性的 X-OrcaRouter-Firewall-Approval 头重新提交原始调用。参见 危险的工具调用
对照一个学习到的周内小时基线(hour-of-week baseline)(14 天)评分 的速率/成本尖峰,外加 retry_loopnovel_path(一次从未见过的 工具到工具转移)。该信息流是 Member 可读的;可将一个异常贪睡最多 7 天。 参见 过度代理

4. MCP、密钥与网关访问

注册一个服务器(nameendpointnone/bearer/oauth/basic 之一的 auth_mode、加密的凭据),MCP 网关便在派发之前在 mcp 执行面 上评估每一次 tools/call。健康被追踪(ok/degraded/down);用 POST /api/workspace/firewall/mcp_servers/:id/probe 探测它。一次探测还会 为该服务器声明的工具 schema 建立基线——之后的漂移会把它的 schema 状态 从 verified 翻转为 changed(“rug-pull” 信号),而你要么重新建立基线 (批准)要么 quarantine 该服务器。因此治理是逐调用评估外加 schema 完整性追踪和技能风险带。参见 防火墙 MCPMCP 工具投毒
每个 技能 被扫描进一个风险带,带一个 allow / quarantine / block 的执行模式。一个被隔离的技能被挂起 等待审批;被自动检测的技能保持隔离,直到一名人工审查它们。该模式骑在 规则判定之上
model_limits(+ model_limits_enabled)、allow_ipscredit_limit_usd0 = 无限制)、expired_time-1 = 永不)、 environmentguardrail_idfirewall_policy_id,以及 is_firewall_gateway。组合它们以实现最小代理(least agency)——参见 范围、密钥与策略。 密钥在显示时被脱敏。
那些网关路由(POST /evaluatePOST /evaluate_planANY /mcp) 需要一个带 is_firewall_gateway=true 的密钥——一个专用的 firewall-gateway-scoped 令牌,而非你的 sk-orca-… 中继密钥。铸造一个 并读取它的明文是 Admin+
配置运行在控制台里——防护栏、防火墙策略、MCP 服务器和合规在你的 会话/访问令牌(UserAuth)下管理,且每一次写入都受角色门控(策略和防护栏 写入需 Developer+)。只有你的 /v1/* 中继流量使用一个 sk-orca-… 密钥;只有 /api/v1/firewall/* 网关 hook 使用 firewall-gateway-scoped 令牌。

5. 合规、数据居住与数据

目录包括 SOC 2、HIPAA、GDPR、UK GDPR、EU AI Act、ISO 27001、ISO 42001、 NIST AI RMF、PCI DSS、CCPA、GLBA、OWASP Top 10 for LLM Applications (作为一个控制映射),外加区域性配置文件(PIPL、APPI、PIPA、LGPD、 PIPEDA、DPDP、澳大利亚的 APPs、新加坡 PDPA、DORA,以及若干美国州法)。 在 /api/compliance/* 浏览目录、合规包和就绪度——全部 Member、免费
浏览是免费的;安装一个合规包、生成一份报告、上线,以及设置数据居住 都需要工作区 Admin 和一个付费计划(服务端门控)。安装一个合规包 (POST /api/compliance/packs/:key/install)物化出真实的防护栏 + 防火墙策略,你随后可以编辑它们。
可以。一份报告是 Ed25519 签名 + SHA-256 且可公开验证:获取公钥 (GET /api/public/compliance/pubkey)、验证一份报告 (POST /api/public/compliance/verify),或给一名审计员一个分享链接 (GET /api/public/compliance/share/:token)。导出格式为 CSV / JSON / PDF。
它是合规报告工件的区域useuukapcnglobal), 经由 PUT /api/compliance/residency(Admin)设置;一次跨区域读取会被 扣留。它不是对你推理数据的地理钉定。参见 共担责任
请求日志留存默认 30 天,并被服务端钳制到 180 天的硬上限。一次 账号删除会被保留一个宽限窗口(默认 30 天),之后运行一次不可逆的 PII 清洗;那次清洗会级联清除归属于你的 Mongo 请求日志负载、防护栏匹配 和防火墙事件。归档一个工作区会为该工作区级联清除同样的三个集合。参见 PII 暴露
来自一个安全控制的 400 不是你提示词里的 bug。 它是一个策略在尽职。 不要重试——这些错误码是 skip-retry。追踪规则,然后决定是修复调用还是放宽 策略:为什么被拦下了?

6. 仍然卡住?

错误码

网关能返回的每一种拦截、挂起和拒绝。

为什么被拦下了?

读错误码、打开正确的信息流、找到确切的规则。

防护栏 API

内容策略的路由、角色和负载。

防火墙 API

动作治理的控制台与网关路由。

合规 API

目录、安装、报告和数据居住端点。

词汇表

贯穿零信任文档使用的每一个术语。
关于这些控制所拦截的威胁,从 威胁模型 开始。要获得一个干净的基线,遵循 安全智能体基线