Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 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
1vor 8 TagenNoch 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

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

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:

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

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

root@kitploit:~
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:

root@kitploit:~
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.

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

Um eine Methode direkt auszuführen:

root@kitploit:~
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:

root@kitploit:~
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:

root@kitploit:~
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:

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

Um eine einzelne Methode auszuführen:

root@kitploit:~
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:

root@kitploit:~
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:

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

Berechnen Sie den FID zwischen Referenz- und entgifteten Bildverzeichnissen:

root@kitploit:~
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:

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

Danksagungen

Dieses Projekt entstand unter wesentlicher Bezugnahme auf die hervorragende NaviT2I-Codebasis. Wir danken den Autoren von NaviT2I aufrichtig für die Veröffentlichung ihrer Implementierung und der unterstützenden Ressourcen.

Wir danken außerdem den Autoren von BadT2I, EvilEdit, VillanDiffusion, PersonalBKD, Hugging Face Diffusers sowie den zugehörigen vortrainierten Diffusionsmodellen für die öffentliche Bereitstellung ihres Codes und ihrer Checkpoints. Alle Komponenten von Drittanbietern unterliegen weiterhin ihren jeweiligen Lizenzen und Nutzungsbedingungen.

Tool herunterladen