OWASP AISVS 1.01:213 条可验证要求,把 AI 安全拉回工程现场
如果 OWASP LLM Top 10 告诉你「哪里可能出事」,AISVS 则继续追问「你怎么证明这里防住了」。 它把 AI 系统拆成训练数据、模型、记忆、编排、MCP、监控等 12 个控制域,给出 213 条以 Verify that 开头的要求。真正有价值的不是数字,而是它把模型安全从一句原则,变成了可以进需求、评审和验收的工程对象。
它不是又一个 Top 10
AISVS 全称 Artificial Intelligence Security Verification Standard,由 OWASP 社区维护,设计思路直接继承 ASVS:要求必须可实现、可测试、可验证。 当前稳定版是 1.01,下一版 1.02 正在开发,项目采用 CC BY-SA 4.0 许可证。
它和其他 AI 安全文档的分工很明确:LLM/Agentic Top 10 负责风险认知,NIST AI RMF、ISO/IEC 42001 负责治理与风险管理,ASVS 负责通用应用安全,AISVS 补上 AI 特有控制的技术验证。它不是一份自包含的 AI 安全体系,更不是买一个工具就能自动达标的认证。 官方甚至明确要求:做 AISVS Level N 时,应同时验证对应的 ASVS Level N。
213 条要求,怎样分层
1.01 的 12 章共有 213 条核心要求:Level 1 有 57 条,Level 2 有 110 条,Level 3 有 46 条(按正式版 Markdown 表格统计,不含附录和已移除项)。三级不是简单的「低、中、高危」,而是不同的验证深度:
| 等级 | 含义 | 典型对象 |
|---|---|---|
| Level 1 | 所有 AI 系统都该有的基础控制 | 内部工具、低风险应用 |
| Level 2 | 面向敏感数据和重要决策的标准控制 | 生产系统、面向用户的 AI、个人数据处理 |
| Level 3 | 针对复杂攻击和高保证场景的纵深防御 | 关键基础设施、高价值目标、强监管行业 |
章节覆盖了完整生命周期:C1 训练数据,C2 输入校验,C3 模型生命周期,C4 基础设施,C5 访问控制,C6 模型供应链,C7 模型行为,C8 记忆/嵌入/向量库,C9 编排与 Agent,C10 MCP,C11 对抗鲁棒性,C12 监控与日志。另附术语表、控制项索引和 AI 辅助安全编码三份附录。
不要从第一条开始机械打勾。 官方建议按系统风险选目标等级;只处理 AI 特有控制,通用安全另走对应标准;不在组织控制范围内的要求可以标记为 out of scope,但要留下范围和依据,不能把「管不到」直接写成「已通过」。
三组要求,最该先读
提示词注入不是一道输入过滤题。 C2 要求规范化输入、检测编码走私和注入、限制上下文长度,其中 C2.1.4 明确说超限要拒绝,不能静默截断。但只过 C2 远不够:C10.4.1/C10.4.2 要求 MCP 的工具列表和调用结果在进入模型上下文前做 schema 校验与间接注入筛查;C9.5.3 则把授权决策明确交给应用逻辑或策略引擎,永远不能让模型自己决定自己有没有权限。检测、上下文边界、确定性授权和审计必须一起上。
Agent 审批不能只弹一个「允许」按钮。 C9.2.1 要求高权限或不可逆动作在执行前必须获得并验证人工批准,列为 Level 1;C9.2.2 进一步要求审批界面展示规范化、完整、未被不安全转换的参数——命令、diff、收件人、金额、资源范围都不能被模型摘要糊弄过去。到 Level 3,C9.2.8 要求批准与动作参数、请求者、执行上下文和一次性 nonce 做密码学绑定,任何一项变化或 nonce 重用都必须拒绝。配套的还有 C9.1 的 token/费用/递归预算和 kill switch。真正的审批是对一个确定的动作对象授权,不是对一段看起来合理的计划点头。
RAG 的记忆写入也是攻击入口。 C8.1.3 要求检索时执行范围约束,C8.2.3 禁止 Agent 或工具输出未经来源验证就写入可信记忆,C8.3.1 要求过期向量不得再被召回;C12.1.4 又要求记录查询、命中文档和知识来源。也就是说,知识库不是只读资料堆,而是有租户边界、写入检疫、生命周期和审计链的持久化系统。
最值得抄的部分
AISVS 的引用格式是 v1.01-C9.2.1,而不是只写「已增加人工审批」。版本号加章节、节、要求编号,让评审意见、测试用例、整改任务和供应商合同引用同一个对象。1.01 发布后目录被锁定;1.02 可以新增或实质修改要求,但现有编号和组织结构保持稳定。由于要求文本和等级仍可能随小版本变化,正式报告必须带版本。
仓库还把规范正文与 Research Wiki 分开:正文回答「验什么」,Wiki 为每条要求补充威胁、验证方法、证据和工具局限。这比把几百页背景材料全塞进 checklist 更适合落地——研发可以先接要求矩阵,审计再按编号追证据。
实际接入可以压成五步:
- 画出模型、数据源、向量库、工具、MCP Server 和外部调用的系统边界。
- 选定 ASVS + AISVS 目标等级,不从 213 条全量合规开始。
- 建立
要求 ID / 适用性 / 负责人 / 实现位置 / 验收证据 / 状态矩阵。 - 把能自动化的证据接入 CI:schema 负例、越权工具参数、预算超限、未审批危险动作、跨租户检索、日志字段完整性。
- 模型、系统提示词、工具清单或检索链发生实质变化时,按同一版本重新验证。
短板
「可验证」不等于「容易验证」。模型幻觉检测、投毒识别、对抗鲁棒性等要求,本身没有 universally reliable 的判定器;审计结论必须附测试集、阈值、适用模型和证据时间。标准给出控制目标,不替你证明检测器有效。
有些条款也不能照字面一刀切。例如 C2.1.5 的字符集 allow-list 如果套到自由多语言文本,可能伤害正常输入;更合理的做法是先区分命令、参数、标识符与自由文本,再定义适用范围和例外。类似地,模型供应商控制的内部能力可能只能拿文档作证,应用团队无法自行复测。范围假设、检测误差和残余风险都要写进结果,否则勾选得越整齐,越像合规表演。
另外,1.01 是稳定快照,不是实时规则库;1.02 仍在开发。项目也不提供官方扫描器、合规评分或安全保证,工具实现与证据自动化仍需团队自己完成。
已经在做 AI 应用评审、Agent 上线门禁或供应商技术评估的团队,值得把 AISVS 1.01 当成一份要求生成器和共同语言:先取 Level 1,再按数据和动作风险升到 Level 2,把关键条款落成带证据的测试。它最重要的提醒是:AI 安全不能只测模型会不会说错话,还要验证整个系统是否只允许它被授权的行为。
- 项目:OWASP/AISVS,2025-05-05 建仓,CC BY-SA 4.0
- 当前版本:1.01 已发布并锁定;1.02 为唯一活跃开发版本
- 核心要求:12 章 213 条;L1/L2/L3 = 57/110/46
- 重点覆盖:训练数据、模型供应链、RAG 记忆、Agent、MCP、监控审计
- 引用方式:正式验收使用
v1.01-Cx.y.z,不要只写无版本编号 - 边界:不替代 ASVS、通用供应链/基础设施基线、AI 治理或威胁建模
- 资料:稳定版 PDF · 使用说明 · Research Wiki