系统学习 AI 学习路径:从 GPU 运行时到推理、微调与 RAG 评估

owasp-llm-top10

OWASP LLM Top 10:把风险清单映射到可落地的控制和测试

补充说明

OWASP LLM Top 10 是生成式 AI 应用的常见风险清单,覆盖提示注入、输出处理、训练数据投毒、模型拒绝服务、供应链、敏感信息泄露、插件设计、过度代理、过度依赖和模型窃取。它不是合规认证,也不是按严重度排序的“前十漏洞”,而是提醒团队在架构、数据、模型、工具和运营层面检查。

使用方式:逐项做适用性判断(适用/不适用/已缓解),映射到具体控制(ACL、输入输出校验、工具白名单、红队测试、模型卡、监控),再落到代码/配置/流程。不要把它当打勾清单;每一项都要有证据和负责人。

常用示例

LLM01 提示注入 → 指令层级、不可信内容隔离、工具最小权限、注入回归
LLM02 不安全输出处理 → 输出转义/校验、沙箱执行、禁止直接拼 SQL/Shell
LLM03 训练数据投毒 → 数据来源校验、去重、异常检测、评测集隔离
LLM04 模型拒绝服务 → 限流、超时、输入长度限制、资源配额、降级
LLM05 供应链 → 模型/数据集/插件来源、签名、版本锁定、SBOM
LLM06 敏感信息泄露 → 数据分级、脱敏、ACL、日志审计、输出过滤
LLM07 插件设计不安全 → 权限边界、参数校验、OAuth scope、人工审批
LLM08 过度代理 → 最小权限、工具白名单、高风险操作二次确认
LLM09 过度依赖 → 引用/置信度、人工复核、领域限制、免责声明
LLM10 模型窃取 → API 鉴权、限流、水印、访问审计、模型保护
# 把风险项映射到测试用例和负责人
controls = [
    {"risk": "LLM01", "control": "tool allowlist + human approval",
     "test": "indirect injection via retrieved doc", "owner": "security"},
    {"risk": "LLM06", "control": "retrieval ACL + output redaction",
     "test": "cross-tenant retrieval", "owner": "platform"},
]
评审问题:
- 这项风险在我們的架构里是否存在?证据是什么?
- 现有控制能否被绕过?最近一次测试是什么时候?
- 失败时的检测、告警、回滚和责任人是谁?

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. OWASP LLM Top 10 是合规认证吗?应该怎样使用?
  2. LLM01 和 LLM08 分别指什么风险?它们和 Agent 有什么关系?
  3. 为什么“已缓解”必须有测试证据?
答案
  1. 不是合规认证,而是风险清单;用于逐项判断适用性、映射控制、安排测试和责任人。
  2. LLM01 是提示注入,LLM08 是过度代理(Agent 权限过大);Agent 能调用工具时,注入可能导致越权操作。
  3. 没有测试证据就无法知道控制是否有效、能否被绕过;评审会变成形式主义。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令