WHite-box Adversarial Toolbox (WHAT)
A Python Library for Deep Learning Security that focuses on Real-time White-box Attacks.
Installation
Using uv (recomended)
uv init --python 3.8
uv add whitebox-adversarial-toolbox
uv run what example run
Using pip
pip install whitebox-adversarial-toolbox
Usage (CLI)
Usage: what [OPTIONS] COMMAND [ARGS]...
The CLI tool for WHitebox-box Adversarial Toolbox (what).
Options:
--help Show this message and exit.
Commands:
attack Manage Attacks
example Manage Examples
model Manage Deep Learning Models
Useful commands:
# List supported models
$ what model list
# List supported Attacks
$ what attack list
# List available examples
$ what example list
Available models:
[x] 1 : YOLOv3 ( Darknet ) Object Detection YOLOv3 pretrained on MS COCO dataset.
[x] 2 : YOLOv3 ( Mobilenet ) Object Detection YOLOv3 pretrained on MS COCO dataset.
[x] 3 : YOLOv3 Tiny ( Darknet ) Object Detection YOLOv3 Tiny pretrained on MS COCO dataset.
[x] 4 : YOLOv3 Tiny ( MobileNet ) Object Detection YOLOv3 Tiny pretrained on MS COCO dataset.
[x] 5 : YOLOv4 ( Darknet ) Object Detection YOLOv4 pretrained on MS COCO dataset.
[x] 6 : YOLOv4 Tiny ( Darknet ) Object Detection YOLOv4 Tiny pretrained on MS COCO dataset.
[x] 7 : SSD ( MobileNet v1 ) Object Detection SSD pretrained on VOC-2012 dataset.
[x] 8 : SSD ( MobileNet v2 ) Object Detection SSD pretrained on VOC-2012 dataset.
[x] 9 : FasterRCNN ( VGG16 ) Object Detection Faster-RCNN pretrained on VOC-2012 dataset.
[x] 10 : YOLOX X-Large Object Detection YOLOX-X pretrained on MS COCO dataset.
[x] 11 : YOLOX Large Object Detection YOLOX-L pretrained on MS COCO dataset.
[x] 12 : YOLOX Medium Object Detection YOLOX-M pretrained on MS COCO dataset.
[x] 13 : YOLOX Small Object Detection YOLOX-S pretrained on MS COCO dataset.
For Developers
uv sync --python 3.8 --dev
<!-- Build documentations -->
uv run python make.py
<!-- Publish to pypi -->
uv build
uv publish
A Man-in-the-Middle Hardware Attack
The Universal Adversarial Perturbation (UAP) can be deployed using a Man-in-the-Middle Hardware Attack.
[ Talk ] [ Video ] [ Paper ] [ Code ]
The Man-in-the-Middle Attack consists of two steps:
- Step 1: Generating the perturbation.
- Step 2: Deploying the perturbation.
Metadata
Release files for whitebox-adversarial-toolbox 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| whitebox_adversarial_toolbox-0.2.4.tar.gz | 440.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| whitebox_adversarial_toolbox-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 645.6 kB
Release files / whitebox_adversarial_toolbox-0.2.4.tar.gz
| Download URL | whitebox_adversarial_toolbox-0.2.4.tar.gz |
|---|---|
| Size | 440.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1798a3f14c02ef88ac4f9676fa58e5467d93f9aadf8f20af7e1b0a73511d87a3
|
|
BLAKE2b-256 checksum How to use checksums |
ed9160b9c4c97f65f0a88606234754da6cb240b35c828332688f6eeb7222558b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / whitebox_adversarial_toolbox-0.2.4-py3-none-any.whl
| Download URL | whitebox_adversarial_toolbox-0.2.4-py3-none-any.whl |
|---|---|
| Size | 205.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
39b39fc309bc3bca509f726f04cb4823926391ee19f3016ce925462e2ce54061
|
|
BLAKE2b-256 checksum How to use checksums |
d0763733a25fd0d8e5112103fc0392b09471f7052d4ecb22535793c7fd5acfee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|