Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
TNC-Defense — Forschungscode zur Erkennung und Entgiftung von Backdoors in Text-zu-Bild-Diffusionsmodellen, mit Pipelines für Stable Diffusion v1.4, v1.5, XL und 3 Medium. | Kitploit
Tools/GitHubGitHub/binzhwang/tnc-defense
SchwachstellenanalyseMaschinelles LernenPapers & ForschungKI-Sicherheit
GitHubbinzhwang/tnc-defense

TNC-Defense

Forschungscode zur Erkennung und Entgiftung von Backdoors in Text-zu-Bild-Diffusionsmodellen, mit Pipelines für Stable Diffusion v1.4, v1.5, XL und 3 Medium.

Repository anzeigen
169vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

TNC-Defense

TNC-Defense stellt Forschungscode zur Erkennung und Entgiftung von Backdoors in Text-zu-Bild-Diffusionsmodellen bereit. Das Repository enthält derzeit Erkennungspipelines für Stable Diffusion v1.4, Stable Diffusion v1.5, Stable Diffusion XL und Stable Diffusion 3 Medium sowie Entgiftungspipelines für Stable Diffusion v1.4 und Stable Diffusion XL.

Nur für Forschungszwecke. Dieser Code dient der Untersuchung der Robustheit und Sicherheit von Text-zu-Bild-Diffusionsmodellen. Die Nutzer sind dafür verantwortlich, die Lizenzen und Nutzungsrichtlinien aller vorgelagerten Modelle, Datensätze und Implementierungen einzuhalten.

Repository-Struktur

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

Umgebung

Der Code wurde in der TCN-Conda-Umgebung einem Smoke-Test unterzogen mit:

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

Die Analyse- und Auswertungswerkzeuge erfordern zusätzlich Pakete wie NumPy, pandas, SciPy, scikit-learn, Matplotlib, Pillow und tqdm.

Aktivieren Sie die Umgebung, bevor Sie ein Experiment ausführen:

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

Die Bash-Einstiegspunkte verwenden das python der aktiven Umgebung. Über die Umgebungsvariable PYTHON kann ein anderer Interpreter angegeben werden:

PYTHON=python bash TNC-Detect/run_detect_sd14.sh

Pfade und Modellvorbereitung

Alle Repository-Pfade werden relativ zum Speicherort des jeweiligen Skripts aufgelöst, sodass die Befehle nicht vom aktuellen Arbeitsverzeichnis abhängen. Die Standard-Modellpfade folgen dem lokalen Projektlayout, das für die Experimente verwendet wird. Wenn Modelle an anderer Stelle gespeichert sind, überschreiben Sie die entsprechenden Befehlszeilenargumente wie --base-model-path, --backdoor-model-path, --base-model oder --tox-path.

Die Entgiftungsdatensätze befinden sich unter:

TNC-Detox/data/
├── sd14/
│   ├── pixel/
│   ├── pixel_mul_tokens/
│   ├── eviledit/
│   ├── personal_bkd/
│   └── villain_mul/
└── sdxl/
    ├── pixel/
    └── pixel_mul_tokens/

Jeder Datensatz enthält clean/, poison/ und metadata.json.

Backdoor-Erkennung

Stable Diffusion v1.4

Der Standard-Runner evaluiert alle konfigurierten SD1.4-Backdoor-Methoden. Er weist die Methoden den in run_detect_sd14.sh definierten GPU-IDs zu und startet sie parallel.

cd TNC-Defense/TNC-Detect
bash run_detect_sd14.sh

Um eine Methode direkt auszuführen:

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

Die verfügbaren Argumente für jede Modellfamilie können mit folgendem Befehl eingesehen werden:

python detect_sd14.py --help
python detect_sd15.py --help
python detect_sdxl.py --help
python detect_sd3.py --help

Erkennungsanalyse

Nachdem die MSE-CSV-Dateien generiert wurden, konfigurieren Sie die Eingabedateien in ana.sh und führen Sie folgenden Befehl aus:

bash ana.sh

Der Detektor unterstützt sowohl die naive als auch die dynamische k-Entscheidungsregel. Metriken und Diagramme werden von ana.py erstellt.

Backdoor-Entgiftung

Stable Diffusion v1.4

Der Standard-SD1.4-Runner startet die fünf konfigurierten Methoden auf den fünf im Skript angegebenen GPU-IDs:

cd TNC-Defense/TNC-Detox
bash run_detox_sd14.sh

Um eine einzelne Methode auszuführen:

python detox_sd14.py \
  --method pixel \
  --device cuda:0 \
  --seed 42

Stable Diffusion XL

Konfigurieren Sie METHOD und GPU_ID in run_detox_sdxl.sh und führen Sie dann aus:

bash run_detox_sdxl.sh

Die methodenspezifischen Standardwerte, einschließlich Trainingsschritten, Timestep-Sampling-Verhältnissen, Verlustgewichten, Batchgrößen und Checkpoint-Intervallen, sind im Abschnitt METHOD_PROFILES jedes Trainingsskripts definiert. Befehlszeilenargumente können diese Standardwerte überschreiben.

Evaluierung

Generieren Sie Bilder aus einem oder mehreren entgifteten SD1.4-UNets:

python evaluate_sd14.py \
  --detox-model checkpoints/sd14/<checkpoint> \
  --prompt-file <prompt-file>

Berechnen Sie den FID zwischen Referenz- und entgifteten Bildverzeichnissen:

python compute_fid.py \
  --reference-dir <reference-images> \
  --candidate-dir <detoxified-images>

Reproduzierbarkeit

  • Erkennungsskripte bewahren die modellfamilienspezifischen Seeds, Scheduler, Prompt-Reihenfolge, Label-Zuweisung und Rauschdynamik-Berechnungen.
  • Die Entgiftung verwendet standardmäßig Seed 42 und aktiviert deterministisches cuDNN-Verhalten.
  • Die bereitgestellten SD1.4- und SDXL-Entgiftungseinstiegspunkte haben echte One-Step-Forward-, Backward-, Optimizer-Update- und Checkpoint-Speicher-Smoke-Tests abgeschlossen.
  • Die exakte numerische Reproduktion kann weiterhin vom GPU-Modell, der CUDA/cuDNN-Version, der PyTorch-Version und der Upstream-Checkpoint-Revision abhängen.

Drittanbieter-Code und Modellquellen

Die von diesem Projekt verwendeten Backdoor-Modelle und Angriffskonfigurationen stammen aus den folgenden öffentlichen Ressourcen:

  • BadT2I-Tok und BadT2I-Sent. Wir trainieren die Backdoor-Modelle mithilfe der BadT2I-Implementierung der Autoren und folgen den Trigger-Definitionen und Trainingskonfigurationen, die in der Originalarbeit beschrieben sind.
  • EvilEdit. Wir generieren die Backdoor-Modelle mithilfe der veröffentlichten EvilEdit-Modellbearbeitungs-Implementierung mit ihrer ursprünglichen Angriffskonfiguration.
  • VillanBKD. Die Stable-Diffusion-v1.4-Experimente verwenden den öffentlich veröffentlichten Backdoor-Checkpoint der Autoren.
  • PersonalBKD-Dream. Wir trainieren das personalisierte Backdoor-Modell, indem wir die öffentliche Hugging-Face-Diffusers-DreamBooth-Trainingspipeline entsprechend der in der Originalarbeit beschriebenen Angriffskonfiguration anpassen.

Bitte zitieren Sie die entsprechenden Originalarbeiten, wenn Sie diese Angriffe oder Checkpoints verwenden: BadT2I (badt2izhai2023), EvilEdit (evileditwang2024), VillanDiffusion (villandiffusionchou2023) und PersonalBKD (personalizationhuang2024).

Zitieren

Wenn Sie dieses Projekt für Ihre Forschung nützlich finden, zitieren Sie bitte:

@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}
}

Danksagungen

Tool herunterladen