Attack benchmark · scored automatically
Red-Team the Model
You attack a deployed image classifier. Fool it, steal it, and get it to leak its training data, all within fixed budgets.
- Scenario
- A self-driving car relies on a model to read traffic signs. You play the attacker and show the three classic ways a deployed model fails: it can be fooled, it can be copied, and it can give away what it was trained on.
- Target model
- A ResNet-18 we trained on GTSRB (the German Traffic Sign Recognition Benchmark, 43 sign classes). It scores about 95% on clean images. There's also an optional DistilBERT text model. For Task A you get the full weights; for Task B you only get a local oracle with a query limit.
- Threat model
- Evasion (adversarial examples), model extraction (stealing) and membership inference (privacy). These are the standard ways a deployed classifier gets attacked.
- Runs on
- Python and PyTorch on a laptop. The model is small enough for a CPU, though a modest GPU will speed up Task A. Nothing runs live: you hand in files.
The tasks
A · Evasion (white-box)
Make the model misread signs on a hidden set of 200 images by adding perturbations within an L∞ budget of ε = 8/255. The attack is targeted, for example getting a STOP sign read as a speed limit. FGSM, PGD and Carlini–Wagner are the obvious places to start.
ScoredTargeted success rate. Any image that goes over the budget scores zero.
B · Extraction (black-box)
You get 10,000 queries to a local oracle. Use them to train a substitute model that behaves like the target. The point is to steal efficiently, not to brute-force it.
ScoredHow often your substitute agrees with the target on a hidden test set.
C · Membership inference (bonus)
You're given the model and a mixed pool of samples. Work out which ones it was trained on, using the fact that models tend to be over-confident on data they've already seen.
ScoredAUC of your membership scores.
Starter kit and how it runs
- 1Check your setup by reproducing the model's clean accuracy.
- 2Build each attack and score it yourself on the development set, staying inside the budgets.
- 3Hand in your files: adversarial images (.npy), the substitute model (.pt) and your membership scores (.csv).
- 4We run the scorer on the hidden set. Budgets are checked automatically.
Scoring
- Task A: evasion success within budget45%
- Task B: extraction agreement within the query budget35%
- Task C: membership-inference AUC (bonus, capped)20%
You submit
Task A: adversarial images
A NumPy array of your perturbed images. Every image must stay within L∞ ε = 8/255.
NPY · up to 10 MB
Task B: substitute model
PyTorch weights for your substitute. If the file is over 10 MB, send a download link instead.
PT, PTH · up to 10 MB, or a link
Task C: membership scores (bonus)optional
CSV · up to 5 MB