关于 ai-model-privacy-audit
面向 AI 模型审计人员的隐私评估技能,用于检测训练数据泄露风险,并将结果纳入 AI DPIA 风险评估。涵盖数据提取、成员推断、模型反演和属性推断等攻击及缓解措施验证。
主要功能
- 01训练数据提取测试
- 02成员推断攻击评估
- 03模型反演与属性推断测试
- 04按威胁模型选择攻击
- 05验证缓解措施效果
- 06汇总隐私风险与审计报告
适用场景
- 01模型部署前评估训练数据泄露
- 02衡量成员推断攻击成功率
- 03检查差分隐私等缓解措施
- 04将审计结果纳入 AI DPIA
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ privacy-data-protection-skills --skill ai-model-privacy-audit安装后在 Claude Code 中输入/ai-model-privacy-audit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/template.mdreferences/standards.mdworkflows.mdscripts/process.py详细介绍
AI 模型隐私审计
概述
AI 模型隐私审计是对训练好的 ML 模型是否会泄露训练数据进行的系统性评估。模型可能会记住单条训练记录,使攻击者能够提取个人数据、确定数据集成员身份、重建输入特征或推断敏感属性。本技能采用成熟的攻击技术和工具(ML Privacy Meter、ART、Foolbox),实施全面的模型隐私审计方法,以量化部署前和运行期间定期出现的隐私泄露情况。审计结果会直接用于 AI DPIA 风险评估,并为缓解措施的选择提供依据。
隐私攻击分类
1. 训练数据提取
目标:从模型的训练数据中提取原文或近似原文的记录。
| 攻击向量 | 描述 | 目标模型 |
|---|---|---|
| 基于提示词的提取 | 构造提示词,诱使 LLM 复述训练数据 | 语言模型、生成模型 |
| 金丝雀提取 | 将已知的金丝雀字符串插入训练数据,并测试模型是否会复现 | 任何模型(测试方法) |
| 基于梯度的提取 | 利用模型梯度重建训练输入 | 可访问梯度的模型 |
| 生成式重建 | 将模型用作预言机,迭代重建训练样本 | GAN、VAE、扩散模型 |
提高提取可能性的风险因素:
- 模型容量相对于训练数据量过大(过拟合)
- 训练数据包含重复或近似重复的记录
- 训练时长更长(更多轮次)
- 正则化程度较低
- 输出粒度较高的模型(logits、概率)
测试方法:
- 将带有唯一标识符的金丝雀记录插入训练数据
- 训练模型
- 通过各种提示策略尝试提取
- 衡量提取成功率(恢复出的金丝雀所占百分比)
- 阈值:可接受风险下,提取率应低于 0.1%
2. 成员推断
目标:确定特定记录是否存在于模型的训练集中。
| 攻击类型 | 方法 | 计算成本 |
|---|---|---|
| 影子模型攻击 | 使用相似数据训练影子模型,并基于模型输出构建二分类器 | 高 — 需要训练多个影子模型 |
| 基于指标的攻击 | 利用模型置信度、损失或熵区分成员与非成员 | 低 — 每个样本只需查询一次模型 |
| 仅标签攻击 | 使用预测标签(不使用置信度分数)推断成员身份 | 中 — 需要多次查询 |
| 似然比攻击(LiRA) | 将每个样本的损失与参考分布进行比较 | 高 — 准确度最高,需要多个模型 |
ML Privacy Meter 实现:
- 基于总体指标的攻击:将目标模型对某个样本的损失与总体损失分布进行比较
- 基于参考指标的攻击:使用参考模型计算每个样本的指标
- 影子模型攻击:训练影子模型,并使用攻击模型对成员进行分类
测试方法:
- 划分数据:训练集(成员)和留出集(非成员)
- 使用 ML Privacy Meter 运行成员推断攻击
- 衡量攻击成功率:低误报率下的真阳性率(TPR@FPR=0.1%、1%)
- 按样本生成 ROC 曲线并进行汇总
- 阈值:可接受隐私水平下,TPR@1%FPR 应低于 5%
3. 模型反演
目标:从模型输出中重建输入特征。
| 攻击类型 | 方法 | 目标 |
|---|---|---|
| 基于置信度的反演 | 迭代优化输入,以最大化模型对已知标签的置信度 | 分类模型 |
| 基于梯度的反演 | 使用模型梯度,从输出中重建输入 | 白盒模型 |
| 基于 GAN 的反演 | 训练 GAN,将模型输出反演至输入空间 | 人脸识别、图像分类器 |
测试方法:
- 选择目标类别或个体
- 使用各种初始化方式运行反演攻击
- 衡量重建质量(图像使用 SSIM、PSNR;嵌入使用余弦相似度)
- 评估重新识别风险:重建数据能否识别特定个体?
- 阈值:可接受风险要求重建相似度低于 0.3(SSIM)
4. 属性推断
目标:推断模型输出中未包含的敏感属性。
| 攻击类型 | 描述 |
|---|---|
| 利用相关性 | 利用相关特征,根据模型行为推断敏感属性 |
| 部分知识攻击 | 攻击者已知部分属性,并利用模型推断其余敏感属性 |
| 群体推断 | 确定训练数据子群体的统计特征 |
测试方法:
- 识别可能与模型特征相关的敏感属性(第 9 条所列类别)
- 训练攻击模型,根据模型输出预测敏感属性
- 衡量每项敏感属性的推断准确率
- 与随机基线进行比较
- 阈值:推断准确率不得超过随机基线 + 10%
审计方法
阶段 1:审计范围界定(第 1–3 天)
- 界定审计范围:涉及哪些模型、部署环境如何、威胁模型是什么
- 识别资产:训练数据、模型工件、部署基础设施
- 定义威胁模型:对手是谁?他们拥有什么访问权限?
- 黑盒:仅能访问 API(查询和响应)
- 灰盒:可访问 API,并了解模型架构
- 白盒:可完全访问模型权重和架构
- 根据威胁模型和模型类型选择攻击
- 定义成功标准(可接受的泄漏阈值)
- 获取模型所有者和法务部门的审计授权
阶段 2:环境设置(第 4–7 天)
- 设置隔离的审计环境(不泄漏生产数据)
- 安装审计工具:ML Privacy Meter、ART(Adversarial Robustness Toolbox)和自定义脚本
- 根据威胁模型获取模型访问权限(API 端点或模型权重)
- 准备成员/非成员数据集,用于成员推断
- 准备用于提取测试的金丝雀数据
- 配置监控,以记录所有审计查询
阶段 3:执行攻击(第 8–18 天)
针对每项选定的攻击:
- 配置攻击参数
- 对目标模型执行攻击
- 收集结果(成功率、置信区间)
- 调整攻击参数,以找出最坏情况下的泄漏
- 记录:攻击配置、结果、计算成本
阶段 4:分析与报告(第 19–25 天)
- 汇总所有攻击的结果
- 计算每种攻击类型的隐私风险评分
- 识别高风险数据子集(最容易被提取的记录)
- 与 DPIA 风险登记表交叉比对
- 生成审计报告,包括:
- 执行摘要
- 各类别的攻击结果
- 与 GDPR 一致的风险评估
- 建议的缓解措施
- 实施建议的缓解措施后剩余的风险
阶段 5:补救措施验证(第 26–30 天)
- 如果已实施缓解措施(差分隐私、输出扰动等)
- 重新运行关键攻击,验证缓解措施的有效性
- 记录缓解措施实施后的剩余泄漏
- 与可接受阈值进行比较
- 颁发最终审计证书或提出补救要求
隐私泄露阈值
| 指标 | 可接受 | 较高 | 不可接受 |
|---|---|---|---|
| 成员推断 TPR@1%FPR | < 5% | 5-15% | > 15% |
| 训练数据提取率 | < 0.1% | 0.1-1% | > 1% |
| 模型反演 SSIM | < 0.3 | 0.3-0.6 | > 0.6 |
| 属性推断准确率高于基线 | < 10% | 10-25% | > 25% |
缓解措施
| 缓解措施 | 可缓解的攻击 | 权衡 |
|---|---|---|
| 差分隐私(DP-SGD) | 所有攻击——提供数学保证 | 降低模型准确率(校准 epsilon) |
| 训练数据去重 | 数据提取、成员推断 | 一次性预处理成本 |
| 正则化(dropout、权重衰减) | 成员推断、与过拟合相关的泄露 | 可能影响模型性能 |
| 输出扰动 | 模型反演、属性推断 | 降低输出精度 |
| 置信度分数取整 | 基于指标的成员推断 | 轻微降低输出精度 |
| 模型蒸馏 | 数据提取、成员推断 | 需要额外训练 |
| 速率限制 | 所有基于查询的攻击 | 影响正常使用 |
| 输入/输出 PII 过滤 | 从生成式模型中提取 PII | 可能影响模型效用 |
工具和框架
| 工具 | 用途 | 来源 |
|---|---|---|
| ML Privacy Meter | 成员推断审计 | github.com/privacytrustlab/ml_privacy_meter |
| IBM ART | 对抗鲁棒性和隐私测试 | github.com/Trusted-AI/adversarial-robustness-toolbox |
| TensorFlow Privacy | 差分隐私训练 | github.com/tensorflow/privacy |
| Opacus | PyTorch 差分隐私 | github.com/pytorch/opacus |
| Google DP Library | 差分隐私算法 | github.com/google/differential-privacy |
| Foolbox | 对抗攻击库 | github.com/bethgelab/foolbox |
执法相关性
GDPR 或 AI Act 并未明确要求进行模型隐私审计,但实际上通过以下条款强制要求:
- Art. 35 DPIA:AI 系统的风险评估必须评估隐私泄露风险——审计是标准方法
- Art. 32 Security:采取适当的技术措施确保处理安全——隐私审计可验证这些措施
- AI Act Art. 9:高风险 AI 的风险管理要求识别并缓解隐私风险
- AI Act Art. 15:准确性、鲁棒性和网络安全要求——隐私攻击属于网络安全问题
- EDPB Guidelines 04/2025:控制者必须评估 AI 模型是否已有效匿名化训练数据——审计可检验这一说法
集成点
- ai-dpia:审计结果纳入 DPIA 第 3 阶段的风险评估
- ai-data-retention:审计用于验证从训练数据中删除数据是否有效
- ai-deployment-checklist:部署前隐私审计是检查清单中的一项要求
- ai-federated-learning:联邦学习模型需要进行分布式隐私审计
评论
支持 Markdown