Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
TNC-Defense — Código de pesquisa para detectar e desintoxicar backdoors em modelos de difusão de texto para imagem, com pipelines para Stable Diffusion v1.4, v1.5, XL e 3 Medium. | Kitploit
Ferramentas/GitHubGitHub/binzhwang/tnc-defense
Análise de VulnerabilidadesAprendizado de MáquinaPapers e PesquisaSegurança de IA
GitHubbinzhwang/tnc-defense

TNC-Defense

Código de pesquisa para detectar e desintoxicar backdoors em modelos de difusão de texto para imagem, com pipelines para Stable Diffusion v1.4, v1.5, XL e 3 Medium.

Ver Repositório
1há 8 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

TNC-Defense

O TNC-Defense fornece código de pesquisa para detectar e desintoxicar backdoors em modelos de difusão texto-imagem. O repositório atualmente inclui pipelines de detecção para Stable Diffusion v1.4, Stable Diffusion v1.5, Stable Diffusion XL, e Stable Diffusion 3 Medium, juntamente com pipelines de desintoxicação para Stable Diffusion v1.4 e Stable Diffusion XL.

Somente para uso em pesquisa. Este código destina-se ao estudo da robustez e segurança de modelos de difusão texto-imagem. Os usuários são responsáveis por cumprir as licenças e políticas de uso de todos os modelos, conjuntos de dados e implementações upstream.

Estrutura do Repositório

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

Ambiente

O código foi submetido a smoke tests no ambiente Conda TCN com:

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

Os utilitários de análise e avaliação adicionalmente exigem pacotes incluindo NumPy, pandas, SciPy, scikit-learn, Matplotlib, Pillow e tqdm.

Ative o ambiente antes de executar um experimento:

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

Os pontos de entrada Bash usam o python do ambiente ativo. Um interpretador diferente pode ser fornecido por meio da variável de ambiente PYTHON:

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

Caminhos e Preparação dos Modelos

Os caminhos do repositório são resolvidos em relação ao local de cada script, portanto os comandos não dependem do diretório de trabalho atual. Os caminhos de modelo padrão seguem o layout do projeto local usado nos experimentos. Se os modelos forem armazenados em outro local, substitua os argumentos de linha de comando correspondentes, como --base-model-path, --backdoor-model-path, --base-model ou --tox-path.

Os conjuntos de dados de desintoxicação estão incluídos em:

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

Cada conjunto de dados contém clean/, poison/ e metadata.json.

Detecção de Backdoors

Stable Diffusion v1.4

O executor padrão avalia todos os métodos de backdoor SD1.4 configurados. Ele atribui os métodos aos IDs de GPU definidos em run_detect_sd14.sh e os executa em paralelo.

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

Para executar um método diretamente:

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

Os argumentos disponíveis para cada família de modelos podem ser consultados com:

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

Análise da Detecção

Após gerar os arquivos CSV de MSE, configure os arquivos de entrada em ana.sh e execute:

root@kitploit:~
bash ana.sh

O detector suporta tanto as regras de decisão naive quanto as dynamic-k. As métricas e os gráficos são produzidos por ana.py.

Desintoxicação de Backdoors

Stable Diffusion v1.4

O executor padrão de SD1.4 executa os cinco métodos configurados nos cinco IDs de GPU especificados no script:

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

Para executar um único método:

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

Stable Diffusion XL

Configure METHOD e GPU_ID em run_detox_sdxl.sh e então execute:

root@kitploit:~
bash run_detox_sdxl.sh

Os valores padrão específicos de cada método, incluindo as etapas de treinamento, as proporções de amostragem de timestep, os pesos de perda, os tamanhos de lote e os intervalos de checkpoint, estão definidos na seção METHOD_PROFILES de cada script de treinamento. Os argumentos de linha de comando podem substituir esses valores padrão.

Avaliação

Gere imagens de uma ou mais UNets SD1.4 desintoxicadas:

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

Calcule o FID entre os diretórios de imagens de referência e desintoxicadas:

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

Reprodutibilidade

  • Os scripts de detecção preservam as sementes específicas da família de modelos, os schedulers, a ordem dos prompts, a atribuição de rótulos e os cálculos de dinâmica de ruído.
  • A desintoxicação usa a semente 42 por padrão e habilita o comportamento determinístico do cuDNN.
  • Os pontos de entrada de desintoxicação fornecidos para SD1.4 e SDXL concluíram testes de fumaça reais de um passo, abrangendo forward, backward, atualização do otimizador e salvamento de checkpoint.
  • A reprodução numérica exata ainda pode depender do modelo de GPU, da versão do CUDA/cuDNN, da versão do PyTorch e da revisão do checkpoint upstream.

Código de Terceiros e Fontes de Modelos

Os modelos com backdoor e as configurações de ataque usados por este projeto originam-se dos seguintes recursos públicos:

  • BadT2I-Tok e BadT2I-Sent. Treinamos os modelos com backdoor usando a implementação BadT2I dos autores e seguimos as definições de gatilhos e as configurações de treinamento descritas no trabalho original.
  • EvilEdit. Geramos os modelos com backdoor usando a implementação de edição de modelos EvilEdit lançada publicamente, com sua configuração de ataque original.
  • VillanBKD. Os experimentos com Stable Diffusion v1.4 usam o checkpoint com backdoor disponível publicamente fornecido pelos autores.
  • PersonalBKD-Dream. Treinamos o modelo personalizado com backdoor adaptando o pipeline de treinamento do DreamBooth do Hugging Face Diffusers público, de acordo com a configuração de ataque descrita no trabalho original.

Cite os artigos originais correspondentes ao usar esses ataques ou checkpoints: BadT2I (badt2izhai2023), EvilEdit (evileditwang2024), VillanDiffusion (villandiffusionchou2023) e PersonalBKD (personalizationhuang2024).

Citação

Se você considerar este projeto útil em sua pesquisa, cite:

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

Agradecimentos

Este projeto foi construído com referência substancial ao excelente NaviT2I base de código. Agradecemos sinceramente aos autores do NaviT2I por disponibilizarem sua implementação e recursos de apoio.

Agradecemos também aos autores do BadT2I, EvilEdit, VillanDiffusion, PersonalBKD, Hugging Face Diffusers e dos modelos de difusão pré-treinados associados por disponibilizarem publicamente seus códigos e checkpoints. Todos os componentes de terceiros permanecem sujeitos às suas respectivas licenças e termos de uso.

Baixar ferramenta