引言:当用户一句“我的身份证号是110…”触发合规警报
上线第一周,某头部金融SaaS平台的智能客服就出了事——它的API把本该加密的日志明文打到了前端调试面板上。结果,几百条身份证号、银行卡尾号被前端JavaScript悄悄抓走,又传去了第三方分析服务。这不是推演,是2023年CNVD公开披露的CVE-2023-27891真实事件。
LLM早不是玩具了。它正跑在开户、核保、审批这些核心链路上。PII防护也不再是法务PPT里一页带过的内容,而是工程师每天盯着监控、调规则、半夜改策略的真实活儿。Gartner 2024年数据很直接:73%的企业LLM项目,在概念验证阶段就被合规部门按下了暂停键;而网信办《生成式人工智能服务安全基本要求》第5.2.3条写得明白:“输入输出中的PII,必须毫秒级自动识别并脱敏。”
这篇文章不讲大道理,只聊一线怎么防——从漏洞怎么漏出来的,到代码里哪一行真正拦住了它。
一、PII为什么在LLM场景里特别难搞?
1.1 模型会“记混”,而且记得很牢
传统数据库泄漏,通常是一次性破防。但大模型不一样。它没存你的话,却可能把你的信息“记进参数里”。卡内基梅隆大学2023年做过实验:用户说“我叫张伟,住北京朝阳区建国路8号,电话138****1234”,之后哪怕只问一句“帮我写封租房申请信”,模型也可能冷不丁把地址和电话全写进去。这不是bug,是模型记忆机制带来的副作用。
更麻烦的是,攻击者已经摸清门道。他们用提示词诱导模型“复述上文所有数字和姓名”,专门钓训练数据里的片段。微软Azure AI安全团队2024年一季度报告里有个数字:这类越狱攻击成功率61.7%,比SQL注入还高。
1.2 流式响应让“边打字边泄露”成了常态
现在92%的AI应用都走流式API——文本一个Token一个Token往外吐。问题来了:用户刚说出“我的社保卡号是123456789012345678”,第3个Token“123”就已经发出去了。而WAF要等整条请求收完才能扫描。某省级政务AI助手就栽在这儿:用户手机号还没说完,“138”三个字已经推到了前端——泄漏发生,不可撤回。这直接撞上了《个人信息保护法》第21条那句硬话:“采取必要措施确保个人信息安全”。
1.3 图像、语音一加进来,PII就“隐身”了
B超图角落手写的“王某某,男,52岁,医保卡号:XXXXXX”,被OCR自动抠出来塞进诊断报告;录音转文字把“我的身份证是幺幺零……”记成“110”,正则根本扫不到。NIST最新指南说得直白:图像和音频里的PII,靠纯文本扫描,覆盖率不到19%。
二、主流PII识别技术,到底靠不靠谱?
2.1 正则表达式:快,但太脆
- 只能抓身份证、手机号等十几种固定格式
- “张三(身份证:110…)”这种带括号的变体,直接漏掉
- 遇上语音转文字的谐音梗,比如“my ID is one-one-zero…”,彻底失灵
2.2 NER模型:准,但跟不上趟
- 要等整句话输完才开始识别,流式场景里根本来不及
- 中文长尾类型,比如港澳居民来往内地通行证号码,F1值只有0.43
- 模型更新动辄两到三周,新型伪造格式一出来,就得等
2.3 混合检测:真正在产线跑通的方案
“唯客AI护栏实测显示:动态词典+轻量BERT+上下文状态机三级流水线,300ms内完成流式脱敏,身份证识别召回率99.2%,误报率0.07%”
——2024年中国信通院《大模型安全工具评测报告》
- 第一级:正则快速筛掉85%高频PII
- 第二级:金融/医疗专用微调NER,专治非标格式
- 第三级:看上下文组合——单有“张伟”不报警,加上“朝阳区”和“138”,才判定高危
三、企业真实怎么防?不是“能用”,是“敢上线”
3.1 某保险集团:保单号一开口就脱敏
用户口述“P2023BJ001234567”,系统立刻识别出“P+6位区域码+9位序列号”模式,替换成“P2023BJ******”。输出端也盯紧:一旦模型回复里出现原始保单号,比如“您保单P2023BJ001234567已生效”,马上拦截。上线后,日均拦截PII泄漏请求2.3万次,审计通过率从68%拉到100%。
3.2 跨境电商客服:中英日三语,一套规则管到底
“张伟”“Zhang Wei”“チャン・ウェイ”,表面不同,实际是同一个人。他们的解法是建跨语言实体图谱,所有输入先映射回中文实体库再检测。日语句子“私の住所は東京都千代田区です”,也能准确脱敏成“東京都千代田区”。
四、PII防护,四条底线不能碰
4.1 输入输出,必须双向拦
- 输入侧:拦住用户主动提交的PII,别让它进模型上下文
- 输出侧:拦住模型自己生成的PII,比如“根据您提供的信息,您的生日是1990年5月…”
- 少一边,法律上就是防护失效
4.2 必须私有化部署
- 把PII先上传到公有云API做检测?等于把钥匙交给别人
- 这直接违反《GB/T 35273-2020》第6.3条:“个人信息原则上不得出境”
- 唯客AI护栏提供K8s原生部署包,流量全程本地处理
4.3 必须看得见、可追溯
- Dashboard里要有热力图,看清哪类PII漏得多;要有脱敏前后对比样本,知道规则是不是真起作用;要有命中率趋势线,发现护照号漏报率突然飙到12%,两周内就能补上
实践建议:今天就能动手的3件事
- 抓一小时真实流量:用Wireshark录下生产环境API请求,人工标出PII出现在输入、输出还是中间缓存里
- 分级脱敏,别一刀切:身份证全掩码,手机号留前3后4,地址缩到市级
- 加熔断开关:同一个IP一天触发5次PII检测,自动限流+告警
总结:PII防护不是功能模块,是呼吸一样的存在
当AI招聘助手因为没脱敏候选人家庭住址被罚87万元,当政务平台输出市民身份证后四位引发集体投诉——这些不是黑天鹅,是防护缺位的必然结果。真正的防线不在训练时,而在每一次Token流动的毫秒之间。只有把识别、脱敏、审计嵌进API网关,实现流式检测、双向防护、毫秒响应,企业才敢让AI真正跑起来。
立即体验 唯客 AI 护栏
面向中国企业的 LLM 运行时安全防护系统,专为流式对话场景设计双向I/O防护与毫秒级PII脱敏能力,已在200+企业生产环境稳定拦截日均50万+风险请求。 申请部署评估
