大模型输入输出日志的隐私数据脱敏技术
在大模型应用中,日志记录是安全审计和问题排查的重要手段,但同时也可能包含敏感信息。本文将介绍几种实用的隐私数据脱敏技术。
1. 基于正则表达式的脱敏
import re
def mask_sensitive_data(text):
# 邮箱脱敏
text = re.sub(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', 'EMAIL_MASKED', text)
# 手机号脱敏
text = re.sub(r'1[3-9]\d{9}', 'PHONE_MASKED', text)
# 身份证号脱敏
text = re.sub(r'\d{17}[\dXx]', 'ID_MASKED', text)
return text
2. 结构化数据脱敏
对于JSON格式的日志,可以采用递归方法处理:
def anonymize_json(data):
if isinstance(data, dict):
return {key: anonymize_json(value) for key, value in data.items()}
elif isinstance(data, list):
return [anonymize_json(item) for item in data]
elif isinstance(data, str) and is_sensitive_data(data):
return mask_string(data)
else:
return data
3. 实施建议
- 建立敏感数据字典,定期更新
- 在日志输出前进行自动化脱敏处理
- 保留脱敏规则的审计日志
通过以上方法,可以在保证安全审计需求的同时,有效保护用户隐私数据。此方案适用于安全工程师在日常工作中进行日志安全处理。

讨论