mcpField
A
ai-model-privacy-audit

ai-model-privacy-audit

github.com/mukul975セキュリティ32346 回インストール32 週間前に更新
リポジトリ

ai-model-privacy-audit について

AI モデル監査担当者向けのプライバシー評価スキルです。学習データの漏えいを検証し、結果を AI DPIA のリスク評価に反映します。データ抽出、メンバーシップ推論、モデル反転、属性推論の攻撃と、緩和策の検証を扱います。

主な機能

  1. 01学習データ抽出テスト
  2. 02メンバーシップ推論の評価
  3. 03モデル反転と属性推論のテスト
  4. 04脅威モデルに基づく攻撃選定
  5. 05緩和策の有効性検証
  6. 06プライバシーリスク分析と監査報告

活用シーン

  1. 01モデル導入前の学習データ漏えい評価
  2. 02メンバーシップ推論攻撃の成功率測定
  3. 03差分プライバシーなどの緩和策の確認
  4. 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.md
references/
standards.md
workflows.md
scripts/
process.py

詳細

AI モデルのプライバシー監査

概要

AI モデルのプライバシー監査では、トレーニング済み ML モデルがトレーニングデータの情報を漏えいするかどうかを体系的に評価します。モデルは個々のトレーニングレコードを記憶することがあり、攻撃者が個人データを抽出したり、データセットへの所属を特定したり、入力特徴量を再構築したり、センシティブ属性を推測したりできる可能性があります。このスキルでは、確立された攻撃手法とツール(ML Privacy Meter、ART、Foolbox)を使った包括的なモデルプライバシー監査手法を実装し、デプロイ前および運用中に定期的にプライバシー漏えいを定量化します。監査結果は AI DPIA のリスク評価に直接反映され、緩和策の選定に役立ちます。

プライバシー攻撃の分類

1. トレーニングデータの抽出

目的:モデルのトレーニングデータから、記録をそのまま、またはほぼそのまま抽出します。

攻撃ベクトル説明対象モデル
プロンプトベースの抽出LLM がトレーニングデータをそのまま出力するようなプロンプトを作成します言語モデル、生成モデル
カナリア抽出既知のカナリア文字列をトレーニングデータに挿入し、モデルがそれを再現するかテストしますあらゆるモデル(テスト手法)
勾配ベースの抽出モデルの勾配を使ってトレーニング入力を再構築します勾配にアクセスできるモデル
生成的再構築モデルをオラクルとして使い、トレーニングサンプルを反復的に再構築しますGAN、VAE、拡散モデル

抽出の可能性を高めるリスク要因:

  • トレーニングデータのサイズに対してモデルの容量が大きい(過学習)
  • トレーニングデータに重複またはほぼ重複したレコードが含まれている
  • トレーニング期間が長い(エポック数が多い)
  • 正則化が弱い
  • 出力の粒度が細かいモデル(ロジット、確率)

テスト手法:

  1. 固有の識別子を含むカナリアレコードをトレーニングデータに挿入します
  2. モデルをトレーニングします
  3. さまざまなプロンプト戦略を使って抽出を試みます
  4. 抽出成功率(復元されたカナリアの割合)を測定します
  5. しきい値:許容可能なリスクとするには、抽出率を 0.1% 未満にする必要があります
2. メンバーシップ推論

目的:特定のレコードがモデルのトレーニングセットに含まれていたかどうかを特定します。

攻撃の種類手法計算コスト
シャドウモデル攻撃類似データでシャドウモデルをトレーニングし、モデル出力を使って二値分類器を構築します高 — 複数のシャドウモデルのトレーニングが必要です
メトリックベースの攻撃モデルの信頼度、損失、エントロピーを使って、メンバーと非メンバーを判別します低 — サンプルごとにモデルへのクエリが 1 回必要です
ラベルのみの攻撃予測ラベル(信頼度スコアなし)を使ってメンバーシップを推論します中 — 複数回のクエリが必要です
尤度比攻撃(LiRA)サンプルごとの損失を参照分布と比較します高 — 最も正確ですが、複数のモデルが必要です

ML Privacy Meter の実装:

  • 母集団メトリックベースの攻撃:ターゲットモデルのサンプルに対する損失を、母集団の損失分布と比較します
  • 参照メトリックベースの攻撃:参照モデルを使ってサンプルごとのメトリックを計算します
  • シャドウモデル攻撃:シャドウモデルをトレーニングし、攻撃モデルを使ってメンバーを分類します

テスト手法:

  1. データを分割します:トレーニングセット(メンバー)とホールドアウトセット(非メンバー)
  2. ML Privacy Meter を使ってメンバーシップ推論攻撃を実行します
  3. 攻撃の成功率を測定します:低い偽陽性率での真陽性率(TPR@FPR=0.1%、1%)
  4. サンプルごとに ROC 曲線を生成し、集計します
  5. しきい値:許容可能なプライバシー水準とするには、TPR@1%FPR を 5% 未満にする必要があります
3. モデル反転

目的:モデルの出力から入力特徴を再構成します。

攻撃の種類方法対象
信頼度ベースの反転既知のラベルに対するモデルの信頼度を最大化するよう、入力を反復的に最適化します分類モデル
勾配ベースの反転モデルの勾配を使用して、出力から入力を再構成しますホワイトボックスモデル
GAN ベースの反転モデルの出力を入力空間に反転するよう GAN をトレーニングします顔認識、画像分類器

テスト方法:

  1. 対象のクラスまたは個人を選択します
  2. さまざまな初期化で反転攻撃を実行します
  3. 再構成の品質を測定します(画像では SSIM、PSNR、埋め込みではコサイン類似度)
  4. 再識別リスクを評価します:再構成されたデータから特定の個人を識別できますか?
  5. 閾値:許容可能なリスクとするには、再構成の類似度を 0.3(SSIM)未満にする必要があります
4. 属性推論

目的:モデルの出力に含まれない機密属性を推論します。

攻撃の種類説明
相関関係の悪用相関する特徴を使用して、モデルの振る舞いから機密属性を推論します
部分的知識を用いた攻撃攻撃者が一部の属性を知っており、モデルを使用して残りの機密属性を推論します
グループ推論トレーニングデータのサブグループに関する統計的特性を特定します

テスト方法:

  1. モデルの特徴と相関する可能性のある機密属性(第9条のカテゴリ)を特定します
  2. モデルの出力から機密属性を予測する攻撃モデルをトレーニングします
  3. 各機密属性について推論精度を測定します
  4. ランダムなベースラインと比較します
  5. 閾値:推論精度がランダムなベースライン + 10% を超えないようにします

監査方法

フェーズ 1:監査範囲の設定(1~3日目)
  1. 監査範囲を定義します:対象モデル、デプロイのコンテキスト、脅威モデル
  2. 資産を特定します:トレーニングデータ、モデル成果物、デプロイインフラストラクチャ
  3. 脅威モデルを定義します:攻撃者は誰で、どのようなアクセス権を持っていますか?
    • ブラックボックス:API アクセスのみ(クエリと応答)
    • グレーボックス:API アクセスに加えて、モデルアーキテクチャに関する知識
    • ホワイトボックス:モデルの重みとアーキテクチャへの完全なアクセス
  4. 脅威モデルとモデルの種類に基づいて攻撃を選択します
  5. 成功基準(許容可能な漏えいの閾値)を定義します
  6. モデル所有者および法務部門から監査の承認を得ます
フェーズ 2:環境のセットアップ(4~7日目)
  1. 隔離された監査環境をセットアップします(本番データの漏えいなし)
  2. 監査ツールをインストールします:ML Privacy Meter、ART (Adversarial Robustness Toolbox)、カスタムスクリプト
  3. 脅威モデルに応じて、モデルへのアクセス(API エンドポイントまたはモデルの重み)を取得します
  4. メンバー推論用のメンバー/非メンバーデータセットを準備します
  5. 抽出テスト用のカナリーデータを準備します
  6. すべての監査クエリを記録するようモニタリングを設定します
フェーズ 3:攻撃の実行(8~18日目)

選択した各攻撃について:

  1. 攻撃パラメーターを設定します
  2. 対象モデルに対して攻撃を実行します
  3. 結果(成功率、信頼区間)を収集します
  4. 攻撃パラメーターを変えて、最悪のケースの漏えいを確認します
  5. 攻撃の設定、結果、計算コストを記録します
フェーズ 4:分析と報告(19~25日目)
  1. すべての攻撃の結果を集計します
  2. 攻撃の種類ごとにプライバシーリスクスコアを算出します
  3. リスクの高いデータサブセット(抽出に最も脆弱なレコード)を特定します
  4. DPIA のリスク登録簿と照合します
  5. 以下を含む監査レポートを作成します:
    • エグゼクティブサマリー
    • カテゴリごとの攻撃結果
    • GDPR との整合性を含むリスク評価
    • 推奨される緩和策
    • 提案された緩和策の実施後に残るリスク
フェーズ 5:修正の検証(26~30日目)
  1. 緩和策(差分プライバシー、出力の摂動など)が適用されている場合
  2. 主要な攻撃を再実行し、緩和策の有効性を検証します
  3. 緩和策の適用後に残る漏えいを記録します
  4. 許容可能な閾値と比較します
  5. 最終監査証明書を発行するか、修正要件を提示します

プライバシー漏えいのしきい値

指標許容範囲高リスク許容不可
メンバーシップ推論 TPR@1%FPR< 5%5-15%> 15%
トレーニングデータの抽出率< 0.1%0.1-1%> 1%
モデル反転 SSIM< 0.30.3-0.6> 0.6
ベースラインを上回る属性推論の精度< 10%10-25%> 25%

緩和策

緩和策緩和される攻撃トレードオフ
差分プライバシー(DP-SGD)すべて — 数学的保証を提供モデル精度の低下(イプシロンを調整)
トレーニングデータの重複排除抽出、メンバーシップ推論一度限りの前処理コスト
正則化(ドロップアウト、重み減衰)メンバーシップ推論、過学習に関連する漏えいモデルの性能に影響する可能性があります
出力の摂動モデル反転、属性推論出力の精度が低下します
信頼度スコアの丸め指標ベースのメンバーシップ推論出力の精度がわずかに低下します
モデル蒸留抽出、メンバーシップ推論追加のトレーニングが必要です
レート制限すべてのクエリベースの攻撃正当な利用にも影響します
入出力の 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
OpacusPyTorch の差分プライバシー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:連合学習モデルには分散型プライバシー監査が必要です

コメント