Welcome to the Adversarial Robustness Toolbox¶

Adversarial Robustness Toolbox (ART) is a Python library for Machine Learning Security. ART provides tools that enable developers and researchers to evaluate, defend, certify and verify Machine Learning models and applications against the adversarial threats of Evasion, Poisoning, Extraction, and Inference. ART supports all popular machine learning frameworks (TensorFlow, Keras, PyTorch, MXNet, scikit-learn, XGBoost, LightGBM, CatBoost, GPy, etc.), all data types (images, tables, audio, video, etc.) and machine learning tasks (classification, object detection, generation, certification, etc.).


The code of ART is on GitHub and the Wiki contains overviews of implemented attacks, defences and metrics.
The library is under continuous development. Feedback, bug reports and contributions are very welcome!
Supported Machine Learning Libraries¶
TensorFlow (v1 and v2) (https://www.tensorflow.org)
Keras (https://www.keras.io)
PyTorch (https://www.pytorch.org)
MXNet (https://mxnet.apache.org)
Scikit-learn (https://www.scikit-learn.org)
XGBoost (https://www.xgboost.ai)
LightGBM (https://lightgbm.readthedocs.io)
CatBoost (https://www.catboost.ai)
Modules
art.attacks
art.attacks.evasion
- Adversarial Patch
- Adversarial Patch - Numpy
- Adversarial Patch - TensorFlowV2
- Auto Attack
- Auto Projected Gradient Descent (Auto-PGD)
- Boundary Attack / Decision-Based Attack
- Brendel and Bethge Attack
- Carlini and Wagner L_2 Attack
- Carlini and Wagner L_inf Attack
- Decision Tree Attack
- DeepFool
- DPatch
- RobustDPatch
- Elastic Net Attack
- Fast Gradient Method (FGM)
- Feature Adversaries
- Frame Saliency Attack
- High Confidence Low Uncertainty Attack
- HopSkipJump Attack
- Imperceptible ASR Attack
- Imperceptible ASR Attack - PyTorch
- Basic Iterative Method (BIM)
- Projected Gradient Descent (PGD)
- Projected Gradient Descent (PGD) - Numpy
- Projected Gradient Descent (PGD) - PyTorch
- Projected Gradient Descent (PGD) - TensorFlowV2
- NewtonFool
- PixelAttack
- ThresholdAttack
- Jacobian Saliency Map Attack (JSMA)
- Shadow Attack
- ShapeShifter Attack
- SimBA Attack
- Spatial Transformations Attack
- Square Attack
- Targeted Universal Perturbation Attack
- Universal Perturbation Attack
- Virtual Adversarial Method
- Wasserstein Attack
- Zeroth-Order Optimization (ZOO) Attack
art.attacks.extraction
art.attacks.inference.attribute_inference
art.attacks.inference.membership_inference
art.attacks.inference.model_inversion
art.attacks.inference.reconstruction
art.attacks.poisoning
art.defences
art.defences.detector.evasion
art.defences.detector.evasion.subsetscanning
art.defences.detector.poison
art.defences.postprocessor
art.defences.preprocessor
- Base Class Preprocessor
- Feature Squeezing
- Gaussian Data Augmentation
- InverseGAN
- DefenseGAN
- JPEG Compression
- Label Smoothing
- Mp3 Compression
- PixelDefend
- Resample
- Spatial Smoothing
- Spatial Smoothing - PyTorch
- Spatial Smoothing - TensorFlow v2
- Thermometer Encoding
- Total Variance Minimization
- Video Compression
art.defences.trainer
art.defences.transformer.evasion
art.defences.transformer.poisoning
art.estimators
art.estimators.certification
art.estimators.certification.randomized_smoothing
art.estimators.classification
- Mixin Base Class Classifier
- Mixin Base Class Class Gradients
- BlackBox Classifier
- BlackBox Classifier NeuralNetwork
- Keras Classifier
- MXNet Classifier
- PyTorch Classifier
- TensorFlow Classifier
- TensorFlow v2 Classifier
- Ensemble Classifier
- Scikit-learn Classifier Classifier
- GPy Gaussian Process Classifier
art.estimators.classification.scikitlearn
- Base Class Scikit-learn
- Scikit-learn DecisionTreeClassifier Classifier
- Scikit-learn ExtraTreeClassifier Classifier
- Scikit-learn AdaBoostClassifier Classifier
- Scikit-learn BaggingClassifier Classifier
- Scikit-learn ExtraTreesClassifier Classifier
- Scikit-learn GradientBoostingClassifier Classifier
- Scikit-learn RandomForestClassifier Classifier
- Scikit-learn LogisticRegression Classifier
- Scikit-learn SVC Classifier
art.estimators.encoding
art.estimators.generation
art.estimators.object_detection
art.estimators.poison_mitigation.neural_cleanse
art.estimators.poison_mitigation.strip
art.estimators.regression
art.estimators.speech_recognition
art.evaluations
art.metrics
art.preprocessing
art.preprocessing.audio
art.preprocessing.expectation_over_transformation
art.preprocessing.standardisation_mean_std
art.wrappers
art.data_generators
art.exceptions
art.utils
tests.utils