大模型输入输出日志隐私脱敏方案
在大模型应用开发中,输入输出日志的隐私保护是安全工程师必须关注的核心问题。本文将介绍一套实用的脱敏方案。
脱敏策略
- 个人信息识别:使用正则表达式匹配身份证号、手机号、邮箱等敏感信息
- 数据泛化:将具体数值替换为范围值或类别标识
- 随机化处理:对关键字段进行哈希或随机替换
实现代码
import re
import hashlib
def anonymize_text(text):
# 身份证号脱敏
id_pattern = r'\d{17}[\dXx]'
text = re.sub(id_pattern, '***********', text)
# 手机号脱敏
phone_pattern = r'1[3-9]\d{9}'
text = re.sub(phone_pattern, '1****', text)
# 邮箱脱敏
email_pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'
text = re.sub(email_pattern, '***@***.com', text)
return text
# 使用示例
original_log = "用户张三的身份证号是110101199003071234,手机号13812345678,邮箱zhangsan@example.com"
print(anonymize_text(original_log))
工具推荐
建议结合正则表达式库和自定义规则,构建自动化脱敏流水线,确保日志安全合规。
注意事项
- 脱敏后的日志仍需满足业务审计需求
- 定期更新敏感信息识别规则
- 建立脱敏效果验证机制

讨论