【大模型安全】OWASP 大语言模型十大风险

文章整理自:https://yeasy.gitbook.io/ai_security_guide

一、提示词注入

LLM 的交互接口本身即可接收指令,提示注入防御是整个安全体系的基础。

提示词注入攻击者通过恶意指令影响模型执行路径,绕过系统规则。

包括如下:

  • 直接注入
  • 间接注入
  • 工具返回注入

防护思路:

  1. 指令层与数据层分离:明确哪些是输入、哪些是系统规则
  2. 外部内容来源标记与降权:对来自 RAG、Web 搜索等外部渠道的内容降低权重
  3. 工具调用前置策略校验:调用工具前,用独立的分类器或规则引擎进行意图验证

二、敏感信息泄露

模型输出或上下文处理过程泄露隐私、密钥、或跨租户数据。

泄露路径:训练记忆泄露、上下文回显、日志误采集、系统提示泄露

防护思路:

  1. 输入侧:通过脱敏和 PII 检测防止敏感数据被无意中送入 LLM
  2. 输出侧:通过 DLP 和脱敏规则防止 LLM 的输出包含机密信息

三、供应链风险

模型、数据集、依赖库、插件、镜像、推理服务任一环节被污染都可影响系统。

防护思路:

  1. 来源可追溯(签名/校验):建立模型、依赖与镜像的来源校验机制
  2. 依赖锁定与漏洞扫描:在构建时锁定依赖版本,定期扫描已知漏洞(CVE)
  3. SBOM 与变更审计:为每个部署生成 SBOM,记录完整的变更链条便于事后追溯

四、数据与模型投毒

攻击者污染训练/微调/检索数据或模型工件,诱导系统长期偏离预期行为。

防护思路:

  1. 数据摄入白名单与分级审核:建立受信任的数据来源清单,对新增数据进行内容和来源审核
  2. 异常样本检测与回滚机制:使用统计异常检测识别可疑样本,部署快速回滚流程
  3. 模型版本基线与行为回归测试:维护历史版本,定期运行回归测试套件验证模型输出分布的稳定性

五、输出处理不当

从"LLM 控制权"到"系统破坏权",在 Agent 和工具调用场景中,LLM 的输出直接变成了:

  • 数据库查询语句(SQL 注入)
  • 系统命令(命令执行)
  • 文件路径(路径遍历)
  • API 调用参数(二阶注入)
    将 LLM 输出直接用于 SQL、Shell、模板渲染或 API 参数,触发传统安全漏洞。LLM 的输出被下游系统当作"代码"而非"数据"。

防护思路:

  1. 输出永不直连执行面:所有 LLM 输出都经过参数化处理,永不直接进入 SQL 引擎、Shell 或模板渲染
  2. 参数化调用与 schema 校验:使用白名单限制可用的工具和参数范围,生成的参数必须通过 schema 验证
  3. 高危操作二次确认:修改、删除等破坏性操作需要用户明确的、脱离上下文的确认

六、过度自主权

智能体被授予过多权限后,可能执行越权调用、批量外发或破坏性操作。

防护思路:

过度自主权问题根本上源于"给与"和"使用"的不对称------权限设计时是"长期、静态、宽泛的",但执行时应该是"当前、动态、最小化的"。在 Agent 架构中,需要从多个维度进行权限约束:

  • 功能维度:定义每个 Agent 的能力范围(调用哪些工具)
  • 参数维度:限制工具参数的有效范围(只能操作特定数据、用户或时间段)
  • 时间维度:使用短期令牌而非长期凭证,减少凭证泄露的影响
  • 行为维度:监控权限的使用情况,异常调用立即告警

七、系统提示泄露

攻击者诱导模型泄露系统提示、策略约束或内部流程信息:

  • 系统的约束与策略(知道了"防线在哪")
  • 模型的工具列表与权限(知道了"能做什么")
  • 可能的内部流程与数据流(知道了"怎么做")

防护思路

  1. 系统提示中不存放密钥:所有敏感信息(API 密钥、数据库凭证、工具列表细节)存在外部密钥管理系统,通过安全的 API 查询
  2. 对"提示提取类"请求做专门过滤:识别常见的提取提示词(如"repeat your instructions"、"what are your rules"),并结合输出过滤进行阻
  3. 用测试集持续回归"抗提取能力":定期运行红队测试,验证系统提示是否被泄露,纳入 CI/CD 流水线

八、向量与嵌入弱点

  • 向量数据库的访问控制薄弱:没有行级权限隔离,用户 A 可能检索到用户 B 的私密数据
  • 文档注入攻击:恶意者上传一份"表面无害,实则包含隐藏指令"的文档,当它被检索到时,就会进行间接提示注入
  • 检索排名操纵:通过精心设计,让恶意内容排名靠前,被模型优先"吸取"

防护思路:

  1. 文档摄入阶段需要内容审核和注入检测,防止恶意文档植入
  2. 嵌入和索引阶段需要确保数据的机密性和完整性
  3. 检索阶段需要行级权限隔离,防止跨用户数据泄露
  4. 重排阶段需要评估检索结果的可信度,防止恶意内容排名靠前

九、错误信息

模型输出错误但看似可信的信息,在高敏场景可能造成现实损害。

防护思路:

  1. 通过 RAG 强制模型引用具体来源,用户可验证信息的真实性
  2. 在金融、医疗、法律等高敏场景,部署事实性验证和人工复核
  3. 教导用户理解 LLM 的局限性,对输出保持适度的怀疑态度

十、无边界消耗

攻击者通过高并发、长上下文和高复杂度请求消耗预算与算力。

防护思路:

  1. 在用户维度,限制单个用户的日/月消耗量
  2. 在请求维度,限制单个请求的 Token 数、推理步数、工具调用次数
  3. 在全局维度,设置总体的成本上限和服务降级策略
相关推荐
mlidongfeng1 小时前
[AI][C++26] SIMD 编程模型思考
开发语言·c++·人工智能
关于不上作者榜就原神启动那件事1 小时前
从 MDC 到 Agent:我手搓的文档路由协议,在 Spring AI Alibaba 里找到了正式实现
java·人工智能·spring·ai·agent
大模型真好玩1 小时前
LangChain DeepAgents 速通指南(十二)——一文详解生产级智能体的命令体系和工程设计
人工智能·langchain·agent
m0_547486661 小时前
人工智能通识题库及答案2025版 PDF
人工智能
其实防守也摸鱼1 小时前
HackBar 工具完全指南:信息探测、漏洞验证与安全测试实战
开发语言·人工智能·学习·安全·网络安全·安全威胁分析·安全性测试
ACP广源盛139246256731 小时前
Qwen3.8-Max 开源预期下@ACP#企业级终端硬件演进机遇与 PCIe 交换芯片落地分析
大数据·人工智能·分布式·单片机·嵌入式硬件
happyprince1 小时前
篇3:bitsandbytes-深刻观-哲学与升华
人工智能·算法
测试者家园1 小时前
Harness由浅入深:CI/CD流水线里的质量门禁怎么设计
软件测试·人工智能·ci/cd·混沌测试·智能化测试·harness·质量门禁
用户5610461435231 小时前
Java 项目怎么接生图 API?Spring Boot 调甜甜圈API 的完整写法
人工智能