用途
本技能使 AI 智能体能够按照《OWASP LLM 应用十大风险(2025)》(由 OWASP GenAI 安全项目发布)对大型语言模型(LLM)与生成式 AI 应用进行全面的安全评估。该清单识别了集成大语言模型系统中最关键的安全风险,是 LLM 应用安全的权威行业标准。可用于识别安全漏洞、评估风险敞口、确定修复优先级,并为 AI 驱动应用建立安全开发实践。
技能文档建议与“NIST AI RMF”配合进行综合风险管理,或与“ISO 42001 AI Governance”配合满足治理合规。
主要能力与适用场景
在以下情况调用本技能:
- 在部署前审计 LLM 驱动应用的安全性
- 审查 GenAI 集成中的安全漏洞
- 评估 RAG(检索增强生成)系统
- 评估聊天机器人或 AI 助手的安全性
- 对 AI 功能进行渗透测试
- 构建安全的 AI 应用架构
- 审查第三方 AI API 集成
- 准备安全合规评审
- 响应 AI 相关安全事件
所需输入
执行审计时需收集:
- application_description:AI 应用描述(用途、所用 LLM、架构、功能、用户群)[必需]
- architecture_details:系统架构(API、数据库、向量存储、插件、集成)[可选但推荐]
- llm_provider:LLM 供应商与模型(如 OpenAI GPT-4、Anthropic Claude、自托管等)[可选]
- deployment_context:部署环境(云、本地、混合、边缘)[可选]
- data_sensitivity:处理的数据类型(PII、金融、健康、专有数据)[可选]
- existing_controls:当前安全措施(认证、限流、内容过滤)[可选]
- specific_concerns:已知漏洞或重点关注区域 [可选]
- testing_authorization:主动测试的明确授权、环境与边界 [执行实时或主动测试时必需]
- safe_testing_mode:documentation-only、staging、production-readonly 或 production-approved [可选,若授权不明确则默认为 documentation-only]
授权测试边界
仅对用户拥有或明确授权测试的系统运行主动安全测试。若授权缺失或不明确,仅执行文档与架构审查,使用安全的假设性示例而非实际负载执行。
对生产系统:优先采用预发环境或只读验证;除非书面范围明确允许,避免拒绝服务、破坏性、持久化或真实数据外泄测试;在报告中隐藏凭证、密钥、PII 以及敏感的提示或模型输出;若测试超出批准范围,应停止并报告。
OWASP LLM 应用十大风险(2025)
每种漏洞的描述、攻击场景、检测检查与缓解措施见 references/llm-vulnerabilities.md,应阅读与应用架构相关的条目。
| ID | 漏洞 |
|---|---|
| LLM01 | 提示注入 |
| LLM02 | 敏感信息泄露 |
| LLM03 | 供应链漏洞 |
| LLM04 | 数据与模型投毒 |
| LLM05 | 输出处理不当 |
| LLM06 | 过度代理 |
| LLM07 | 系统提示泄露 |
| LLM08 | 向量与嵌入弱点 |
| LLM09 | 错误信息 |
| LLM10 | 无界消耗 |
审计流程
第一步:应用理解(约 15 分钟)
系统清点:记录 LLM 供应商、模型版本与配置;绘制应用架构(API、数据库、向量存储);识别进出 LLM 的所有数据流;列出插件、工具与集成。
威胁建模:识别攻击面(用户输入、API、数据源);确定数据敏感度分级;映射组件间的信任边界;识别 LLM 可触发的特权操作。
第二步:漏洞评估(约 40-60 分钟)
针对十类漏洞逐一评估:
- 提示注入(LLM01,约 10 分钟):用已知注入技术(直接与间接)测试;尝试覆盖系统指令;用外部数据源中的恶意内容测试;验证输入校验与净化。
- 敏感信息泄露(LLM02,约 5 分钟):尝试提取训练数据;测试输出中的 PII 泄露;检查凭证或 API 密钥暴露;验证输出过滤有效性。
- 供应链(LLM03,约 5 分钟):审查模型来源与出处;检查依赖版本与漏洞状态;验证插件与集成安全性;审查 SBOM 完整性。
- 数据/模型投毒(LLM04,约 5 分钟):审查数据管道安全;检查微调数据验证;验证模型完整性监控;用已知触发模式测试。
- 输出处理不当(LLM05,约 10 分钟):测试通过 LLM 输出的 XSS;尝试经模型响应进行 SQL 注入;检查命令注入可能性;验证输出净化与编码。
- 过度代理(LLM06,约 5 分钟):审查智能体权限与能力;测试特权边界;验证关键操作的人工介入;检查审计日志完整性。
- 系统提示泄露(LLM07,约 5 分钟):尝试提取系统提示;检查提示中的密钥;验证提示保护机制。
- 向量/嵌入弱点(LLM08,约 5 分钟):审查向量存储访问控制;测试 RAG 检索是否可被注入;验证数据隔离与过滤。
- 错误信息(LLM09,约 5 分钟):测试关键领域的幻觉;验证接地与引用机制;检查置信度指示。
- 无界消耗(LLM10,约 5 分钟):测试限流有效性;验证令牌与成本限制;检查超时配置。
第三步:风险评分(约 15 分钟)
对每个发现的漏洞评分:
可能性:高(已知攻击向量、易利用、可公开访问);中(需要一定技能或特定条件);低(难以利用、攻击面有限)。
影响:严重(系统失陷、重大数据泄露、显著财务损失);高(未授权访问、数据暴露、服务中断);中(有限数据暴露、部分服务影响);低(轻微信息泄露、影响极小)。
第四步:报告生成(约 20 分钟)
汇总全面的安全评估。报告模板(执行摘要、按漏洞的发现、风险评分、修复计划)见 references/report-template.md,可直接复制使用。
漏洞优先级速查
| 优先级 | 漏洞 | 理由 |
|---|---|---|
| P0 | LLM01(提示注入)、LLM02(数据泄露) | 可直接利用、影响高 |
| P1 | LLM05(输出处理)、LLM06(过度代理) | 存在系统失陷可能 |
| P2 | LLM03(供应链)、LLM04(投毒) | 较难利用但影响严重 |
| P3 | LLM07(提示泄露)、LLM08(向量弱点) | 可促成进一步攻击 |
| P4 | LLM09(错误信息)、LLM10(无界消耗) | 运营风险 |
最佳实践
- 纵深防御:不要依赖单一安全控制
- 对 LLM 输出零信任:将所有模型输出视为不可信
- 最小权限:最小化 AI 智能体的权限与能力
- 持续监控:对异常 AI 行为记录日志并告警
- 对抗性测试:定期对 AI 功能开展红队演练
- 保护管道:保护训练数据、模型与嵌入
- 人工监督:关键操作保持人工介入
- 定期更新:跟进不断演变的攻击技术
- 用户教育:培训用户安全地与 AI 交互
- 事件预案:制定 AI 专用的事件响应流程
版本
1.0 - 初始版本(OWASP LLM 应用十大风险 2025)
文档提醒:LLM 安全是不断演进的领域,新的攻击向量会定期出现。本审计提供基线评估;持续监控与定期复评对维持安全态势至关重要。