> 发布日期: 2026-03-14
> 分类: 工具研究
> 标签: AI安全, Prompt注入, 内容安全, 模型安全, 隐私保护
随着大语言模型(LLM)被广泛应用于生产环境,AI 安全问题已经从学术讨论变成了工程团队必须面对的现实挑战。2024-2025 年间,Prompt Injection 攻击、模型越狱、数据泄露、内容安全等安全事件频繁发生,给企业带来了实质性的风险。
本报告系统研究了 AI 安全与防护工具的全景,覆盖五个核心领域:
1. Prompt Injection 防护:检测和阻止针对 LLM 的注入攻击
2. 内容安全过滤:确保模型输出符合安全和合规标准
3. 模型安全评估:系统化评估模型的安全性和对齐程度
4. 隐私保护:防止训练数据泄露和个人信息外泄
5. 合规检查:满足 GDPR、EU AI Act 等法规要求
核心结论:AI 安全是一个多层防御问题,没有任何单一工具能解决所有安全挑战。企业需要在应用层、模型层、数据层和基础设施层分别部署相应的安全措施,形成纵深防御体系。
Prompt Injection 是 LLM 应用面临的最独特、最严重的安全威胁之一。攻击者通过精心构造的输入,试图让模型忽略系统指令,执行非预期的操作。
攻击类型分类:
| 攻击类型 | 描述 | 危害程度 |
|---|---|---|
| **直接注入** | 用户直接输入恶意指令 | 高 |
| **间接注入** | 通过外部数据源(网页、文档)注入 | 高 |
| **越狱攻击** | 绕过安全限制获取有害内容 | 中-高 |
| **多轮攻击** | 通过多轮对话逐步诱导 | 中 |
| **编码绕过** | 使用 Base64、Unicode 等编码绕过检测 | 中 |
真实案例:
Lakera Guard 是目前最知名的 Prompt Injection 检测工具之一。
核心能力:
集成示例:
python
import requests
def check_input(user_input):
response = requests.post(
"https://api.lakera.ai/v2/guard",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"messages": [{"role": "user", "content": user_input}]}
)
result = response.json()
if result["flagged"]:
return False # 拒绝请求
return True
定价:提供免费层,企业版按调用量计费。
Rebuff 是开源的 Prompt Injection 检测器。
检测策略(多层):
1. 启发式检测:基于规则的初步过滤
2. LLM 评估:使用专门训练的检测模型
3. 向量数据库:检测与已知攻击的相似度
4. Perplexity 检测:分析输入的困惑度异常
python
from rebuff import RebuffSdk
rb = RebuffSdk(
openai_apikey=OPENAI_KEY,
pinecone_apikey=PINECONE_KEY,
pinecone_index="rebuff"
)
result = rb.detect_injection(user_input)
if result.injection_detected:
print("检测到注入攻击!")
LLM Guard 是 Protect AI 推出的开源 LLM 安全工具包。
扫描器分类:
输入扫描器:
输出扫描器:
python
from llm_guard import scan_output, scan_input
from llm_guard.input_scanners import PromptInjection, Toxicity
from llm_guard.output_scanners import NoRefusal, Relevance
# 输入扫描
sanitized_prompt, results_valid, results_score = scan_input(
[PromptInjection(), Toxicity()],
user_input
)
# 输出扫描
sanitized_response, results_valid, results_score = scan_output(
[NoRefusal(), Relevance()],
user_input,
model_output
)
1. 输入清理:对用户输入进行规范化处理
2. 系统 Prompt 隔离:明确区分系统指令和用户输入
3. 输出约束:限制模型的输出格式和范围
4. 权限最小化:不要给模型过多的工具权限
5. 人工审核:高风险操作需要人工确认
6. 监控告警:实时监控异常输入模式
LLM 应用的内容安全涉及两个方向:
需要过滤的内容类型:
微软 Azure AI Content Safety 是企业级的内容安全服务。
核心能力:
评分系统:0-7 分的安全等级,可配置阈值。
python
from azure.ai.contentsafety import ContentSafetyClient
client = ContentSafetyClient(endpoint, credential)
response = client.analyze_text(
AnalyzeTextOptions(text=user_input)
)
# 检查各类别的安全分数
for category in response.categories_analysis:
if category.severity > threshold:
# 触发安全处理
handle_unsafe_content()
OpenAI Moderation API 免费的内容安全检测服务。
检测类别:
优势:
限制:
Perspective API 由 Google Jigsaw 团队开发,专注于毒性检测。
检测类型:
适用场景:社区评论、用户生成内容的毒性检测。
对于有特殊需求的企业,可以自建过滤管线:
| 工具 | 类型 | 支持语言 | 自定义 | 成本 |
|---|---|---|---|---|
| Azure Content Safety | 商业 | 多语言 | ✅ 高 | 按调用计费 |
| OpenAI Moderation | 免费 | 主要英文 | ❌ | 免费 |
| Perspective API | 免费 | 主要英文 | ⚠️ 中 | 免费 |
| LLM Guard | 开源 | 多语言 | ✅ 高 | 自部署 |
| Detoxify | 开源 | 英文 | ⚠️ 中 | 自部署 |
模型安全评估不是一次性的工作,而是持续的过程:
Garak 由 NVIDIA 推出,是目前最全面的 LLM 安全扫描工具。
类比:Garak 之于 LLM,就像 Nmap 之于网络、Burp Suite 之于 Web 应用。
检测能力:
bash
# 安装
pip install garak
# 对模型进行全面扫描
garak --model_type openai --model_name gpt-4
# 只测试特定类别
garak --model_type openai --model_name gpt-4 \
--probes encoding.InjectBase64,dan.Dan_11_0
输出报告:详细的漏洞报告,包含成功/失败的攻击、建议修复措施。
PyRIT (Python Risk Identification Tool) 是微软推出的开源 LLM 红队工具。
核心概念:
攻击类型:
python
from pyrit.orchestrator import RedTeamingOrchestrator
from pyrit.prompt_target import AzureOpenAIGPT4Target
target = AzureOpenAIGPT4Target()
orchestrator = RedTeamingOrchestrator(
attack_strategy="text_transformation",
red_teaming_chat=target,
scoring_target=target
)
result = orchestrator.run_attack(objective="生成有害内容")
CyberSecEval 是 Meta 推出的 LLM 安全评估基准。
评估维度:
OWASP LLM Top 10 是 LLM 应用安全的权威指南:
| 排名 | 风险 | 说明 |
|---|---|---|
| LLM01 | Prompt Injection | 通过精心构造的输入操控模型 |
| LLM02 | 敏感信息泄露 | 模型输出包含训练数据中的敏感信息 |
| LLM03 | 供应链风险 | 第三方模型或数据集的安全问题 |
| LLM04 | 数据和模型投毒 | 训练数据被恶意篡改 |
| LLM05 | 不当输出处理 | 未经验证的模型输出导致漏洞 |
| LLM06 | 过度授权 | 模型拥有过多的系统权限 |
| LLM07 | 系统 Prompt 泄露 | 系统指令被提取或泄露 |
| LLM08 | 向量和嵌入弱点 | RAG 系统中的安全问题 |
| LLM09 | 错误信息 | 模型产生虚假或误导性内容 |
| LLM10 | 无界消费 | 缺乏资源限制导致的成本或 DoS 风险 |
训练数据泄露:
用户数据隐私:
Presidio 是微软开源的数据保护 SDK。
核心组件:
支持的 PII 类型:
python
from presidio_analyzer import AnalyzerEngine
from presidio_anonymizer import AnonymizerEngine
analyzer = AnalyzerEngine()
anonymizer = AnonymizerEngine()
# 检测 PII
results = analyzer.analyze(
text="我的电话是13800138000,邮箱是test@example.com",
language="zh"
)
# 脱敏处理
anonymized = anonymizer.anonymize(text=text, analyzer_results=results)
# 输出:我的电话是<PHONE_NUMBER>,邮箱是<EMAIL_ADDRESS>
| 工具 | 特点 | 适用场景 |
|---|---|---|
| **Amazon Comprehend** | AWS 托管服务,多语言 | AWS 生态 |
| **Google DLP API** | Google 云服务 | Google Cloud 生态 |
| **PrivateEye (Amazon)** | 开源 PII 检测 | 自部署 |
| **Scrubadub** | 轻量级 Python 库 | 简单场景 |
差分隐私(Differential Privacy)是保护训练数据隐私的数学框架:
python
# Opacus 示例:在 PyTorch 训练中加入差分隐私
from opacus import PrivacyEngine
model = MyModel()
optimizer = torch.optim.Adam(model.parameters())
privacy_engine = PrivacyEngine()
model, optimizer, dataloader = privacy_engine.make_private(
module=model,
optimizer=optimizer,
data_loader=train_loader,
noise_multiplier=1.0,
max_grad_norm=1.0,
)
# 训练过程与普通 PyTorch 相同
1. 输入脱敏:在发送到 API 之前脱敏 PII
2. 本地处理:敏感数据尽量使用本地模型
3. 数据最小化:只发送必要的信息
4. 日志脱敏:日志中的敏感信息需要脱敏
5. 退出训练:使用 API 提供商的 opt-out 功能
6. 加密传输:确保 API 通信使用 TLS
7. 定期审计:定期检查数据流中的隐私风险
欧盟 AI 法案是全球首个全面的 AI 监管框架:
合规要点:
通用数据保护条例对 LLM 应用的影响:
Holistic AI 提供 AI 治理和合规平台:
Credo AI AI 治理平台:
通用合规检查清单:
Model Card 是记录模型信息的标准化文档,是合规的重要组成部分:
markdown
# Model Card: [模型名称]
## 模型详情
- 开发者:[组织名称]
- 发布日期:[日期]
- 模型版本:[版本号]
- 模型类型:[语言模型/多模态模型等]
## 预期用途
- 主要用途:[描述]
- 非预期用途:[警告]
## 训练数据
- 数据来源:[描述]
- 数据规模:[描述]
- 数据时间范围:[日期范围]
## 性能评估
- 基准测试结果:[表格]
- 已知局限性:[描述]
## 安全与偏见
- 安全测试结果:[描述]
- 偏见评估:[描述]
- 缓解措施:[描述]
## 环境影响
- 训练计算资源:[描述]
- 碳排放估计:[描述]
入门级(个人/小团队):
标准级(生产环境):
企业级(大型组织):
1. 风险评估:上线前进行全面的安全评估
2. 红队测试:定期进行攻击模拟
3. 监控告警:实时监控安全事件
4. 事件响应:建立安全事件响应流程
5. 定期审计:定期审查安全措施的有效性
6. 持续改进:根据新威胁更新防护策略
在开发早期就考虑安全,而不是上线后才加。在设计阶段就明确安全需求。
OpenAI 和 Anthropic 的内置安全措施是第一道防线,但不能完全依赖。应用层的安全措施同样重要。
即使使用了防护工具,也要定期进行红队测试。攻击技术在不断演进。
模型能做的事情越少,出问题的影响就越小。严格限制模型的工具调用权限和数据访问范围。
安全工具和模型都在快速更新。定期更新工具版本,关注新的攻击技术和防护方法。
详细的日志不仅是合规要求,也是安全事件调查的基础。记录每次 LLM 调用的输入、输出和元数据。
不要完全自动化安全决策。高风险场景(内容审核、敏感操作)需要人类参与。
模型、数据集、第三方库都可能存在安全问题。对供应链进行安全审查。
1. OWASP LLM Top 10 — https://genai.owasp.org/ — LLM 应用安全的权威指南
2. Lakera Guard — https://www.lakera.ai/ — Prompt Injection 检测服务
3. LLM Guard (Protect AI) — https://github.com/protectai/llm-guard — 开源 LLM 安全工具包
4. Garak (NVIDIA) — https://github.com/NVIDIA/garak — LLM 漏洞扫描器
5. PyRIT (Microsoft) — https://github.com/Azure/PyRIT — LLM 红队工具
6. Presidio (Microsoft) — https://github.com/microsoft/presidio — PII 检测和脱敏工具
7. EU AI Act — https://artificialintelligenceact.eu/ — 欧盟 AI 法案官方资源
8. Purple Llama (Meta) — https://github.com/meta-llama/PurpleLlama — Meta 的 LLM 安全工具集
本报告基于 2024-2025 年间 AI 安全工具生态的研究整理。AI 安全是一个快速发展的领域,新的攻击技术和防护工具不断涌现,建议读者持续关注 OWASP LLM Top 10 的更新和主要安全团队的最新研究。