A Python Library for Deep Learning Security that focuses on Distributed Black-Box Attacks.
pip install blackbox-adversarial-toolbox
Usage: bat [OPTIONS] COMMAND [ARGS]...
The CLI tool for Black-box Adversarial Toolbox (BAT).
Options:
--help Show this message and exit.
Commands:
api Manage Cloud APIs
attack Manage Attacks
example Manage Examples
Useful commands:
# List supported Cloud APIs
$ bat api list
# List supported Attacks
$ bat attack list
# Test Cloud APIs
$ bat api run deepapi
$ bat api run google
$ bat api run imagga
# Run exmaples
$ bat example run simba_deepapi
$ bat example run bandits_deepapi
$ bat example run square_deepapi
import numpy as np
from PIL import Image
from bat.attacks import SimBA
from bat.apis.deepapi import DeepAPI_VGG16_Cifar10
# Load Image
x = np.asarray(Image.open("dog.jpg").convert('RGB'))
x = np.array([x])
# Initialize the Cloud API Model
DEEP_API_URL = 'http://localhost:8080'
model = DeepAPI_VGG16_Cifar10(DEEP_API_URL)
# Get Preditction
y_pred = model.predict(x)[0]
# Distributed SimBA Attack
simba = SimBA(model)
x_adv = simba.attack(x, np.argmax(y_pred), epsilon=0.05, max_it=10)