KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
11. 怎样证明安全控制真的挡住了攻击? — keel 龙骨
一段攻击 prompt 被模型拒绝,只证明某次模型输出看起来安全。真正的验收问题是:危险动作是否在执行点被阻止、秘密是否离开允许边界、事件是否能被检测和调查、同类问题是否会回归。
一段攻击 prompt 被模型拒绝,只证明某次模型输出看起来安全。真正的验收问题是:危险动作是否在执行点被阻止、秘密是否离开允许边界、事件是否能被检测和调查、同类问题是否会回归。
审计记录关注安全事实
event_id / trace_id / run_id
principal and delegation chain
action fingerprint and resource
policy decision / reason code / version
approval ID and approver(如有)
PEP result and adapter reference
provenance references
occurred_at and integrity metadata
不要把完整 secret、prompt 或工具响应塞进审计 payload。可用 hash、结构化摘要和受控 evidence reference 保持可调查性。
检测要看行为链
高价值信号包括:
- 多次跨租户或越权拒绝;
- Agent 突然请求未使用过的工具;
- 大量数据读取后紧接外部发送;
- scope、目标域名或凭据 audience 异常;
- 审批后参数改变;
- handoff/工具调用次数快速增长;
- 被拒绝后换一种工具实现相同目的;
- 记忆或工具元数据在无变更流程下更新。
单条日志可能正常,组合序列才暴露攻击意图。
安全测试分层
单元测试
固定验证策略、scope 交集、fingerprint、ticket 过期和默认拒绝。这里不使用真实模型。
集成测试
确认任何调用路径都经过 PEP;即使伪造模型输出、绕过 UI 或直接调用 API,Adapter 仍不会执行越权动作。
对抗评估
包含直接/间接注入、多语言改写、工具结果污染、记忆污染、跨 Agent 消息、SSRF、数据外传、审批替换和预算耗尽。
运营演练
演练吊销凭据、隔离工具/记忆版本、停止 Run、调查影响范围和恢复服务。只会拦截而不会响应,不是完整安全能力。
指标不能只追求拦截率
同时衡量:
attack success rate
unsafe action execution rate
secret exfiltration rate
false allow / false deny
approval burden and abandonment
time to detect / contain / recover
audit completeness
control bypass coverage
一个把所有请求都拒绝的系统攻击成功率很低,但没有业务价值。安全评估必须与正常任务成功率、延迟和人工成本一起看。
用 NIST 风险闭环组织工作
- Govern:责任、政策、例外、供应链和问责;
- Map:场景、资产、主体、影响和信任边界;
- Measure:测试、红队、指标和不确定性;
- Manage:排序、部署控制、监控、响应和持续改进。
这四个功能提醒你:安全不是上线前的一次测试,而是持续运行的工程过程。
检查理解
- 模型拒绝攻击文本为什么不能证明 Adapter 安全?
- 哪些审计字段可以支持重建授权链?
- false deny 为什么也是需要测量的安全工程问题?