Skip to content

siege-research/DASH

Repository files navigation

DASH: Differentiable Attack SearcH

 _____    ___    _____   _   _ 
|  __ \  / _ \  /  ___| | | | |
| |  | |/ /_\ \ \ `--.  | |_| |
| |  | ||  _  |  `--. \ |  _  |
| |__| || | | | /\__/ / | | | |
|_____/ \_| |_/ \____/  |_| |_|

Overview

This repository contains the official implementation of DASH (Differentiable Attack SearcH), accompanying the paper "DASH: A Meta-Attack Framework for Synthesizing Effective and Stealthy Adversarial Examples", accepted at CVPR 2026. DASH is a multi-stage meta-attack framework that learns attack weights through differentiable optimization to synthesize adversarial examples that are both effective against robust models and stealthy in appearance. The repository includes code for training DASH weights, loading pretrained weights, and reproducing the experiments reported in the paper.

DASH Workflow

Figure 1: An overview of the Differentiable Attack SearcH (DASH).

1. Environment Setup

1.1. Create Conda Environment

conda create -n dash python=3.12
conda activate dash

1.2. Install Python Dependencies

pip install -r requirements.txt

2. Learning Attack weights with DASH

python train.py \
  --gpu 0 \
  --dataset cifar100 \
  --res 32 \
  --model_name Cui2023Decoupled_WRN-28-10 \
  --stage 3 \
  --epoch 100 \
  --batch 64 \
  --lr 1e-2

Argument description

  • --gpu: GPU id to use (e.g., 0).
  • --dataset: Dataset name (e.g., cifar100, imagenet).
  • --res: Input image resolution (e.g., 32 for CIFAR, 224 for ImageNet).
  • --model_name: Robust model identifier (e.g., Cui2023Decoupled_WRN-28-10, Wang2023Better_WRN-28-10 from RobustBench).
  • --stage: Number of DASH stages.
  • --epoch: Number of training epochs.
  • --batch: Batch size for training.
  • --lr: Learning rate.

3. Genrating Adversarial Examples with Learned Weights

  • To run DASH using already trained weights and generate adversarial examples run the rebuild_dash.ipynb notebook.
  • The learned weights for 7 models that we have reported in the paper are stored in weights.json file.
  • Chage the DATASET and MODEL_NAME variable values to see the result for other datasets and models from weights.json.

List of Available Trained Weights:

  • DATASET: cifar100 MODEL_NAME: Cui2023Decoupled_WRN-28-10
  • DATASET: cifar100, MODEL_NAME: Wang2023Better_WRN-28-10
  • DATASET: cifar100, MODEL_NAME: Addepalli2022Efficient_WRN_34_10
  • DATASET: cifar10, MODEL_NAME: Bartoldson2024Adversarial_WRN-94-16
  • DATASET: cifar10, MODEL_NAME: Cui2023Decoupled_WRN-28-10
  • DATASET: cifar10, MODEL_NAME: Wang2023Better_WRN-28-10
  • DATASET: imagenet, MODEL_NAME: Salman2020Do_R18

Citation

If you find this work useful in your research, please cite:

@article{nafi2025dash,
  title={DASH: A Meta-Attack Framework for Synthesizing Effective and Stealthy Adversarial Examples},
  author={Nafi, Abdullah Al Nomaan and Rahaman, Habibur and Haider, Zafaryab and Mahfuz, Tanzim and Suya, Fnu and Bhunia, Swarup and Chakraborty, Prabuddha},
  journal={arXiv preprint arXiv:2508.13309},
  year={2025}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors