Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/binzhwang/tnc-defense
脆弱性分析機械学習論文と研究AIセキュリティ
GitHubbinzhwang/tnc-defense

TNC-Defense

Stable Diffusion v1.4、v1.5、XL、3 Medium 用のパイプラインを備えた、テキストから画像を生成する拡散モデルにおけるバックドアの検出・無害化のための研究コード。

リポジトリを見る
18日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

TNC-Defense

TNC-Defense は、テキストから画像を生成する拡散モデル(text-to-image diffusion models)におけるバックドアの検出と無害化のための研究コードを提供します。このリポジトリには現在、Stable Diffusion v1.4、Stable Diffusion v1.5、Stable Diffusion XL、Stable Diffusion 3 Medium 向けの検出パイプラインと、Stable Diffusion v1.4 および Stable Diffusion XL 向けの無害化パイプラインが含まれています。

研究目的専用。 このコードは、テキストから画像を生成する拡散モデルの堅牢性と安全性の研究を目的としています。利用者は、すべての上位モデル、データセット、および実装のライセンスと利用ポリシーを遵守する責任があります。

リポジトリ構造

root@kitploit:~
TNC-Defense/
├── TNC-Detect/
│   ├── detect_sd14.py          # Detection on Stable Diffusion v1.4
│   ├── detect_sd15.py          # Detection on Stable Diffusion v1.5
│   ├── detect_sdxl.py          # Detection on Stable Diffusion XL
│   ├── detect_sd3.py           # Detection on Stable Diffusion 3 Medium
│   ├── ana.py                  # Detection metrics and visualization
│   ├── run_detect_sd14.sh      # Multi-GPU SD1.4 detection
│   └── ana.sh                  # Analysis entry point
└── TNC-Detox/
    ├── data/                   # Paired clean/backdoored training data
    ├── common.py               # Shared data and reproducibility utilities
    ├── detox_sd14.py           # Detoxification for SD1.4
    ├── detox_sdxl.py           # Detoxification for SDXL
    ├── evaluate_sd14.py        # SD1.4 generation-based evaluation
    ├── compute_fid.py          # FID evaluation
    ├── run_detox_sd14.sh       # Multi-GPU SD1.4 detoxification
    └── run_detox_sdxl.sh       # SDXL detoxification

環境

このコードは、TCN Conda 環境でスモークテスト済みです。構成は次のとおりです。

  • Python 3.10
  • PyTorch 2.7.1 with CUDA 12.8
  • torchvision 0.22.1
  • diffusers 0.35.2
  • transformers 4.45.2

解析および評価ユーティリティには、NumPy、pandas、SciPy、scikit-learn、Matplotlib、Pillow、tqdm などのパッケージが追加で必要です。

実験を実行する前に、環境をアクティベートしてください。

root@kitploit:~
cd TNC-Defense
conda create -n TCN python=3.10 -y
conda activate TCN
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

Bash エントリポイントは、アクティブな環境の python を使用します。別のインタープリタを指定する場合は、PYTHON 環境変数を使用できます。

root@kitploit:~
PYTHON=python bash TNC-Detect/run_detect_sd14.sh

パスとモデルの準備

リポジトリ内のすべてのパスは、各スクリプトの場所を基準に解決されるため、コマンドはカレントワーキングディレクトリに依存しません。デフォルトのモデルパスは、実験で使用したローカルプロジェクトの構成に従います。モデルを別の場所に保存する場合は、--base-model-path、--backdoor-model-path、--base-model、--tox-path などの対応するコマンドライン引数で上書きしてください。

無害化データセットは次の場所に含まれています。

root@kitploit:~
TNC-Detox/data/
├── sd14/
│   ├── pixel/
│   ├── pixel_mul_tokens/
│   ├── eviledit/
│   ├── personal_bkd/
│   └── villain_mul/
└── sdxl/
    ├── pixel/
    └── pixel_mul_tokens/

各データセットには、clean/、poison/、metadata.json が含まれています。

バックドア検出

Stable Diffusion v1.4

デフォルトのランナーは、設定されているすべての SD1.4 バックドア手法を評価します。run_detect_sd14.sh で定義された GPU ID にメソッドを割り当て、並列に起動します。

root@kitploit:~
cd TNC-Defense/TNC-Detect
bash run_detect_sd14.sh

単一のメソッドを直接実行するには:

root@kitploit:~
python detect_sd14.py \
  --backdoor-method pixel \
  --device cuda:0 \
  --seed 0 \
  --num-inference-steps 50

各モデルファミリで利用可能な引数は、次のコマンドで確認できます:

root@kitploit:~
python detect_sd14.py --help
python detect_sd15.py --help
python detect_sdxl.py --help
python detect_sd3.py --help

検出分析

MSE CSV ファイルを生成した後、ana.sh 内の入力ファイルを設定して、次のコマンドを実行します:

root@kitploit:~
bash ana.sh

この検出器は、naive および dynamic-k の両方の決定ルールをサポートしています。メトリクスとプロットは ana.py によって生成されます。

バックドア無害化

Stable Diffusion v1.4

デフォルトの SD1.4 ランナーは、スクリプトで指定された 5 つの GPU ID 上で、設定された 5 つのメソッドを起動します:

root@kitploit:~
cd TNC-Defense/TNC-Detox
bash run_detox_sd14.sh

単一のメソッドを実行するには:

root@kitploit:~
python detox_sd14.py \
  --method pixel \
  --device cuda:0 \
  --seed 42

Stable Diffusion XL

run_detox_sdxl.sh 内で METHOD と GPU_ID を設定し、次のコマンドを実行します:

root@kitploit:~
bash run_detox_sdxl.sh

トレーニングステップ、タイムステップサンプリング比率、損失重み、バッチサイズ、チェックポイント間隔などのメソッド固有のデフォルト値は、各トレーニングスクリプトの METHOD_PROFILES セクションで定義されています。コマンドライン引数でこれらのデフォルト値を上書きできます。

評価

無害化された 1 つ以上の SD1.4 UNet から画像を生成します:

root@kitploit:~
python evaluate_sd14.py \
  --detox-model checkpoints/sd14/<checkpoint> \
  --prompt-file <prompt-file>

参照画像ディレクトリと無害化画像ディレクトリの間の FID を計算します:

root@kitploit:~
python compute_fid.py \
  --reference-dir <reference-images> \
  --candidate-dir <detoxified-images>

再現性

  • 検出スクリプトは、モデルファミリ固有のシード、スケジューラ、プロンプトの順序、ラベル割り当て、ノイズダイナミクス計算を保持します。
  • 無害化では、デフォルトでシード 42 を使用し、決定論的な cuDNN 動作を有効にします。
  • 提供されている SD1.4 および SDXL の無害化エントリポイントは、実際の 1 ステップの forward、backward、オプティマイザ更新、チェックポイント保存のスモークテストを完了しています。
  • 厳密な数値再現は、GPU モデル、CUDA/cuDNN バージョン、PyTorch バージョン、およびアップストリームのチェックポイントリビジョンに依存する場合があります。

サードパーティコードおよびモデルソース

このプロジェクトで使用されるバックドアモデルと攻撃構成は、次の公開リソースに由来します:

  • BadT2I-Tok and BadT2I-Sent. バックドアモデルは、著者らの BadT2I 実装 を使用してトレーニングし、元の論文で説明されているトリガー定義とトレーニング構成に従います。
  • EvilEdit. バックドアモデルは、公開されている EvilEdit モデル編集実装 とその元の攻撃構成を使用して生成します。
  • VillanBKD. Stable Diffusion v1.4 の実験では、著者らが公開している バックドアチェックポイント を使用します。
  • PersonalBKD-Dream. パーソナライズされたバックドアモデルは、元の論文で説明されている攻撃構成に従って、公開されている Hugging Face Diffusers DreamBooth トレーニングパイプライン を適用してトレーニングします。

これらの攻撃またはチェックポイントを使用する場合は、対応する元の論文を引用してください: BadT2I (badt2izhai2023)、EvilEdit (evileditwang2024)、VillanDiffusion (villandiffusionchou2023)、PersonalBKD (personalizationhuang2024)。

引用

このプロジェクトが研究に役立つ場合は、次のように引用してください:

root@kitploit:~
@article{wang2026backdoor,
  title={Backdoor sentinel: Detecting and detoxifying backdoors in diffusion models via temporal noise consistency},
  author={Wang, Bingzheng and Gu, Xiaoyan and Xu, Hongbo and Li, Hongcheng and Yu, Zimo and Zhou, Jiang and Wang, Weiping},
  journal={arXiv preprint arXiv:2602.01765},
  year={2026}
}

謝辞

このプロジェクトは、優れた NaviT2I コードベースを大幅に参考に構築されています。NaviT2I の著者らが実装と関連リソースを公開してくれたことに心から感謝します。

また、BadT2I、EvilEdit、VillanDiffusion、PersonalBKD、Hugging Face Diffusers、および関連する事前学習済み拡散モデルの著者らが、コードとチェックポイントを公開してくれたことに感謝します。すべてのサードパーティコンポーネントは、それぞれのライセンスおよび利用規約の対象となります。

ツールをダウンロード