快速开始
第一步:意识与自查
- 识别场景:你的应用是否接收不可信用户输入?是否涉及敏感数据?
- 查阅 OWASP LLM Top 10:了解常见 LLM 安全风险
- 列出资 产:模型、数据、工具、API 的敏感级别
第二步:基础防护(1–2 天)
输入过滤
# 简单示例:检测可疑注入模式
SUSPICIOUS_PATTERNS = [
r"忽略\s*(以上|前面|之前)",
r"ignore\s*(above|previous|all)",
r"new\s*instructions?",
r"system\s*:?\s*you\s+are",
]
def check_prompt_injection(text: str) -> bool:
import re
for p in SUSPICIOUS_PATTERNS:
if re.search(p, text, re.I):
return True
return False
user_input = "用户输入..."
if check_prompt_injection(user_input):
return "检测到异常输入,请重新表述您的问题。"
输出校验
- 对 Agent 的工具调用做白名单校验
- 对敏感操作(如发邮件、改数据库)做二次确认
- 限制输出长度,防止超长恶意输出
最小权限
- Agent 仅授予完成任务所需的最少工具权限
- 对 MCP、Function Calling 等做好权限边界
第三步:RAG 场景防幻觉
- 使用 RAG 时,要求模型「仅基于以下检索内容回答」
- 若检索无相关内容,要求模型明确说明「未找到相关信息」
- 对关键业务做引用溯源校验
参见 RAG 技术。
第四步:隐私与合规
- 明确数据保留策略,写入隐私政策
- 对话记录做脱敏或加密存储
- 若面向欧盟用户,确保符合 GDPR 要求
验证清单
- 已阅读 OWASP LLM Top 10
- 实现基础输入过滤与输出校验
- Agent 工具权限最小化
- RAG 场景有防幻觉设计
- 数据与隐私策略已明确