# cleverhans-lab/cleverhans

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cleverhans-lab-cleverhans).**

6,443 stars · 1,399 forks · Jupyter Notebook · MIT

## Links

- GitHub: https://github.com/cleverhans-lab/cleverhans
- awesome-repositories: https://awesome-repositories.com/repository/cleverhans-lab-cleverhans.md

## Topics

`benchmarking` `machine-learning` `security`

## Description

Cleverhans is an adversarial machine learning library and toolkit designed to generate adversarial examples, incorporate them into training loops, and benchmark the resilience of machine learning models. It provides a gradient-based attack framework for constructing both white-box and black-box attacks to identify model misclassifications.

The project includes capabilities for model robustness benchmarking, allowing users to evaluate and verify how models resist evasion attacks and malicious input perturbations. It also facilitates adversarial training to increase a model's resistance to perturbations by integrating malicious examples directly into the training process.

The library covers a broad surface of security and testing functions, including gradient-based perturbation, loss-function optimization, and black-box strategies such as substitute-model imitation. These tools are supported by a framework-agnostic backend and command line utilities for applying adversarial functionality to saved models.

## Tags

### Artificial Intelligence & ML

- [Adversarial Robustness Libraries](https://awesome-repositories.com/f/artificial-intelligence-ml/ml-library-integrations/adversarial-robustness-libraries.md) — Provides a comprehensive library for generating adversarial examples and hardening ML models across multiple frameworks.
- [Substitute Model Imitations](https://awesome-repositories.com/f/artificial-intelligence-ml/expert-imitation-learning/substitute-model-imitations.md) — Estimates gradients for black-box targets by training a local substitute model to mimic the target's behavior.
- [Gradient-Based Attack Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-based-attack-frameworks.md) — Implements a framework for constructing white-box and black-box attacks using gradients to identify misclassifications.
- [Gradient-Based Perturbations](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-based-learning/gradient-based-perturbations.md) — Generates adversarial inputs by calculating loss function gradients with respect to input data to find vulnerabilities.
- [Adversarial Example Generations](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-computation/gradient-based-sampling/adversarial-example-generations.md) — Creates malicious inputs using gradient-based techniques to test the robustness of machine learning models. ([source](https://github.com/cleverhans-lab/cleverhans#readme))
- [Adversarial Robustness Testing](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-evaluation-and-validation/model-capability-assessment/adversarial-robustness-testing.md) — Provides tools to measure and verify the resilience of machine learning models against adversarial attacks across multiple frameworks. ([source](https://github.com/cleverhans-lab/cleverhans/blob/master/setup.py))
- [Adversarial Robustness Training](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/adversarial-training-procedures/adversarial-robustness-training.md) — Incorporates adversarial examples into the training process to improve a model's resistance to malicious perturbations.
- [Adversarial Loss Optimizations](https://awesome-repositories.com/f/artificial-intelligence-ml/adversarial-loss-functions/adversarial-loss-optimizations.md) — Implements loss-function optimization to identify adversarial examples by maximizing model prediction errors.
- [Backend-Agnostic Deep Learning](https://awesome-repositories.com/f/artificial-intelligence-ml/backend-agnostic-deep-learning.md) — Provides a framework-agnostic backend to standardize attack and defense implementations across different machine learning libraries.
- [Model Benchmarking Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/model-benchmarking-frameworks.md) — Evaluates how machine learning models resist evasion attacks and malicious input perturbations through benchmarking.
- [Perturbation Constraint Mappings](https://awesome-repositories.com/f/artificial-intelligence-ml/perturbation-based-sampling/adversarial-input-perturbation/perturbation-constraint-mappings.md) — Constrains the magnitude of adversarial perturbations using L-infinity and L2 norms to maintain input plausibility.

### Part of an Awesome List

- [Adversarial Attacks](https://awesome-repositories.com/f/awesome-lists/security/adversarial-attacks.md) — Implements black-box adversarial attacks by using substitute imitators to identify model misclassifications.
- [Black-Box Attack Executions](https://awesome-repositories.com/f/awesome-lists/security/adversarial-attacks/black-box-attack-executions.md) — Implements black-box attack strategies using substitute imitators to identify model misclassifications without internal access. ([source](https://github.com/cleverhans-lab/cleverhans/tree/master/cleverhans_v3.1.0))
- [Defense Benchmarking Pipelines](https://awesome-repositories.com/f/awesome-lists/security/adversarial-attacks-and-defense/attack-defense-pipelines/defense-benchmarking-pipelines.md) — Uses standardized scripts to reproduce and compare the effectiveness of various defensive techniques across different backends.
- [AI Security](https://awesome-repositories.com/f/awesome-lists/ai/ai-security.md) — Library for crafting adversarial examples against image models.

### Security & Cryptography

- [Defensive Technique Benchmarking](https://awesome-repositories.com/f/security-cryptography/ai-security/threat-protections/adversarial-threat-defenses/defensive-technique-benchmarking.md) — Benchmarks model robustness by using standardized scripts to reproduce defensive techniques across different backends. ([source](https://github.com/cleverhans-lab/cleverhans/tree/master/defenses))
