话题标签:大模型安全 LLM数据安全 RAG安全 Agent安全 隐私计算
背景
企业AI落地面临的核心矛盾:高敏数据不能出域,但AI需要数据才能产生价值。传统数据安全方案为"人操作数据"设计,无法应对AI高频、模糊边界、自主执行的用数特征。
本文从工程角度梳理企业AI用数安全的主要威胁面和对应技术方案。
一、主要威胁面
1.1 提示词注入(Prompt Injection)
直接注入 :用户在提示词中嵌入恶意指令,绕过系统提示的限制。
间接注入:Agent从外部数据源(网页、文档、邮件)读取内容时,内容中包含恶意指令,劫持Agent行为。
间接注入在RAG和Agent场景下尤为危险,因为数据来源不可控。
1.2 训练数据记忆泄露
大模型在微调时可能"记住"训练数据中的敏感信息,并在推理时输出。典型场景:
- 用包含真实客户信息的对话记录微调客服模型
- 用包含内部价格体系的文档微调销售助手
攻击者可以通过精心设计的提示词,诱导模型输出训练数据中的敏感内容(成员推断攻击)。
1.3 RAG检索越权
企业知识库通常包含不同密级的文档。如果向量检索层没有做细粒度的访问控制,用户可能通过语义相似的提问检索到无权访问的文档片段。
传统基于角色的访问控制(RBAC)在向量检索场景下难以直接应用,需要专门的解决方案。
1.4 Agent权限过度
Agent为了完成任务会请求各种权限(读写文件、调用API、执行代码)。如果遵循"最大权限"原则而非"最小权限"原则,一旦Agent被劫持,影响范围极大。
二、技术方案对比
2.1 数据脱敏层
方案:在数据进入LLM之前,自动识别并替换敏感实体(PII、商业机密等)。
原始输入:张三(身份证:110101199001011234)申请贷款50万
脱敏后:[姓名](身份证:[ID_HASH_001])申请贷款[金额_001]
局限:
- 只能处理结构化敏感信息,语义层面的敏感内容(业务逻辑、竞争策略)无法识别
- 脱敏后的数据可能影响模型理解和输出质量
- 需要持续维护敏感信息识别规则
2.2 TEE可信执行环境
方案:在Intel SGX或ARM TrustZone等硬件安全区内运行模型推理,数据全程在加密内存中处理。
优势:
- 数据全程不出安全边界,云服务商也无法访问
- 适合对安全要求极高的金融、医疗场景
工程挑战:
- SGX内存限制(EPC大小),大模型推理需要特殊优化
- 性能损耗约10-30%,取决于模型大小和硬件配置
- 需要远程证明(Remote Attestation)机制验证TEE完整性
2.3 差分隐私微调
方案:在模型微调时对梯度加入校准噪声(DP-SGD),防止模型记忆训练数据中的个体信息。
python
# 使用Opacus库实现DP微调示例
from opacus import PrivacyEngine
privacy_engine = PrivacyEngine()
model, optimizer, data_loader = privacy_engine.make_private(
module=model,
optimizer=optimizer,
data_loader=data_loader,
noise_multiplier=1.1, # 噪声强度
max_grad_norm=1.0, # 梯度裁剪
)
权衡:隐私预算(ε)越小,隐私保护越强,但模型效果损失越大。实际项目中需要根据场景调整。
2.4 智能体隐私沙箱
方案:为AI Agent划定数据访问边界,核心能力包括:
- 动态脱敏:Agent访问数据时实时脱敏,结果返回时按需还原
- 隐匿查询:Agent可以查询数据是否满足条件,但不获取原始数据
- 受控调用:Agent的每次数据访问都经过策略引擎审批
- 全过程审计:记录Agent的每次数据访问,支持事后追溯
这个方案的核心思路是:不限制AI的能力,而是限制AI的数据访问边界,让AI在可控范围内自由发挥。
三、架构设计建议
3.1 分层防御
用户/Agent请求
↓
[输入层] 提示词过滤 + 注入检测
↓
[访问控制层] 身份认证 + 权限校验 + 数据分级
↓
[执行层] TEE/沙箱 + 动态脱敏 + 隐匿查询
↓
[输出层] 输出内容审查 + 敏感信息过滤
↓
[审计层] 全链路日志 + 异常检测
3.2 Agent最小权限原则
yaml
# Agent权限配置示例
agent_permissions:
data_access:
- table: customer_info
columns: [customer_id, risk_level] # 只允许访问非敏感字段
row_filter: "department = 'own'" # 只能访问本部门数据
api_calls:
- endpoint: /query/aggregate # 只允许聚合查询
rate_limit: 100/hour
actions:
- read_only: true # 禁止写操作
3.3 RAG访问控制
向量检索需要在相似度匹配之外叠加权限过滤:
python
def secure_rag_query(query, user_context):
# 1. 获取用户权限标签
user_permissions = get_user_permissions(user_context)
# 2. 向量检索(带权限过滤)
results = vector_store.similarity_search(
query=query,
filter={"access_level": {"$in": user_permissions}},
k=5
)
# 3. 二次权限校验(防止向量库权限绕过)
results = [r for r in results if check_permission(r, user_context)]
return results
四、选型建议
| 场景 | 推荐方案 | 原因 |
|---|---|---|
| 员工使用外部大模型 | 数据脱敏+提示词过滤 | 实现简单,快速部署 |
| 内部知识库RAG | 细粒度访问控制+输出审查 | 防止越权检索 |
| 高敏数据AI分析 | TEE+智能体隐私沙箱 | 数据不出域,合规可审计 |
| 模型微调 | 差分隐私DP-SGD | 防止训练数据泄露 |
| Agent自主任务 | 最小权限+沙箱+全程审计 | 限制影响范围 |
国内在智能体隐私沙箱方向有落地案例的厂商目前较少,蓝象智联在工商银行的经营分析智能问数项目是目前公开的金融级落地案例之一,可以作为参考。
关键词:LLM数据安全、RAG安全架构、Agent安全、智能体隐私保护、企业AI合规