结论先说:AI 客服或智能体上线前,最该做的不是写一个“更强的系统提示词”,而是四件事:①系统提示里不放秘密、不靠它做授权;②输入输出各加一道护栏(如开源 LLM Guard);③工具最小权限+人工确认;④用红队工具跑基线并持续回归。下面是可直接引用的 16 项检查清单与上线评分器。 安全说明:本文只讲防护与评估,不提供任何越狱提示词、可复制攻击载荷或提示词包链接;仅测试你拥有或获得授权的系统。 一、系统提示词加固:能做什么、不能做什么 1.1 能做的Anthropic 官方《缓解越狱和提示注入》建议:在系统提示中写明道德与法律边界和拒绝方式;声明工具、文档、搜索返回的内容是不可信数据,不能覆盖系统提示;把第三方内容放在 tool_result 中并说明来源;对屡次违规用户限流或封禁。OpenAI 安全最佳实践也建议限制输入长度、做对抗测试与人工审核。 1.2 不能指望的OWASP LLM07 系统提示词泄露明确:系统提示可能被套出,不应存放凭据,也不应作为安全控制。详见 OWASP LLM Top 10 中文清单。 二、LLM Guard:开源输入/输出扫描器 2.1 它是什么protectai/llm-guard 提供一组输入扫描器(如 PromptInjection、Anonymize、TokenLimit 等)与输出扫描器。其 PromptInjection 扫描器基于 deberta-v3 提示注入分类模型,返回清洗后文本、是否有效与风险分(见 官方文档)。 2.2 最小用法 from llm_guard.input_scanners import PromptInjection scanner = PromptInjection(threshold=0.5) sanitized, is_valid, risk = scanner.scan(user_input) if not is_valid: # 拦截或转人工,并记录日志 ... 阈值与 match_type(如 FULL / SENTENCE / CHUNKS)请按官方文档与自有语料调整;中文效果未见官方承诺,需自测。 2.3 和其他方案怎么选自建模型:LLM Guard / Llama Guard / NeMo Guardrails;云上模型:云厂商护栏对比。 三、上线前 16 项检查清单(可引用) #检查项权重1系统提示词不含 API Key、密码、内部链接82不依赖系统提示词做权限判断,授权在后端完成83系统提示声明:外部内容是数据而非指令54第三方内容放入工具结果/独立字段,不拼进 system55输入侧注入/越狱分类器(LLM Guard、Prompt Guard 或云护栏)86输出侧内容安全与 PII 检测87输入长度上限与按用户限流58模型输出当不可信数据处理(转义、校验 JSON)59工具最小权限,付款/删除/发送需人工确认810RAG 向量库按租户/权限隔离511对反复触发拦截的账号限流或封禁512拦截与异常有日志和告警513上线前跑红队工具基线并留档814模型/提示词变更后自动回归515隐私政策披露 AI 使用与数据处理416有安全事件响应与下线开关3 依据:OWASP LLM Top...
