Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cleverhans — 用于构造攻击、构建防御并对二者进行基准测试的对抗样本库 | Kitploit
工具/GitHubGitHub/cleverhans-lab/cleverhans
防御工具漏洞分析机器学习AI 安全对抗性攻击
GitHubcleverhans-lab/cleverhans

cleverhans

用于构造攻击、构建防御并对二者进行基准测试的对抗样本库

查看仓库
6.4k1.4k2年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CleverHans(最新版本:v4.0.0)

cleverhans logo

本仓库包含 CleverHans 的源代码,这是一个用于评估机器学习系统对 对抗样本 漏洞的 Python 库。 你可以在随附的 博客 上了解更多关于此类漏洞的信息。

CleverHans 库持续开发中,始终欢迎 贡献 最新的攻击和防御方法。 特别是,我们始终欢迎帮助解决当前 开放的问题。

自 v4.0.0 起,CleverHans 支持 3 种框架:JAX、PyTorch 和 TF2。我们目前优先在 PyTorch 中实现攻击, 但非常欢迎为所有 3 种框架做出贡献。在 v3.1.0 及更早版本中, CleverHans 支持 TF1;v3.1.0 的代码可以在 cleverhans_v3.1.0/ 下找到,或通过检出一个早期的 Github 版本获取。

该库专注于提供针对机器学习模型的攻击参考实现,以帮助对模型进行对抗样本基准测试。

目录结构如下: cleverhans/ 包含攻击实现,tutorials/ 包含演示 CleverHans 功能的脚本,defenses/ 包含防御实现。每种框架在这些文件夹中都有其自己的子目录,例如 cleverhans/jax。

设置 CleverHans

依赖项

本库使用 Jax、PyTorch 或 TensorFlow 2 来加速许多机器学习模型执行的图计算。 因此,安装这些库之一是一个前提条件。

安装

在处理好依赖项后,你可以使用 pip 或通过克隆此 Github 仓库来安装 CleverHans。

pip 安装

如果你使用 pip 安装 CleverHans,请运行以下命令:

root@kitploit:~
pip install cleverhans

这将安装上传到 Pypi 的最后版本。 如果你更想安装最新开发版本,请使用:

root@kitploit:~
pip install git+https://github.com/cleverhans-lab/cleverhans.git#egg=cleverhans

用于开发的安装

如果你想对 CleverHans 进行可编辑安装,以便开发该库并回馈更改,请先在 GitHub 上 fork 该仓库,然后将你的 fork 克隆到你选择的目录中:

root@kitploit:~
git clone https://github.com/<your-org>/cleverhans

然后你可以以"可编辑"模式安装本地包,以将其添加到你的 PYTHONPATH:

root@kitploit:~
cd cleverhans
pip install -e .

当前支持的配置

虽然 CleverHans 很可能在许多其他机器配置上也能工作,但我们目前仅在 Ubuntu 18.04 LTS (Bionic Beaver) 上使用 Python 3.6、Jax 0.2、PyTorch 1.7 和 Tensorflow 2.4 进行测试。

获取支持

如果你需要支持请求,请在 StackOverflow 上提问,而不是在 GitHub 跟踪器中打开 issue。GitHub issue 跟踪器 只 应用于报告错误或提出功能请求。

贡献

欢迎贡献!为了加快代码审查过程,我们要求:

  • 新的工作和功能应在 讨论板 上进行协调。
  • 在向 CleverHans 贡献代码时,你应在拉取请求中遵循 Black 编码风格。
  • 我们不接受添加 git 子模块的拉取请求,因为维护 git 子模块时会出现问题。

错误修复可以通过 Github 拉取请求发起。

教程:tutorials 目录

为了帮助你开始使用此库提供的功能,tutorials/ 文件夹包含以下教程:

  • 使用 FGSM 和 PGD 的 MNIST(jax、tf2): 本教程涵盖如何训练 MNIST 模型并使用 快速梯度符号方法 和 投影梯度下降 制作对抗样本。
  • 使用 FGSM 和 PGD 的 CIFAR10(pytorch、tf2): 本教程涵盖如何训练 CIFAR10 模型并使用 快速梯度符号方法 和 投影梯度下降 制作对抗样本。

注意:教程得到了仔细维护,我们使用持续集成来确保它们继续工作。它们不被视为 API 的一部分,并且可能随时更改,恕不另行通知。 你不应编写导入教程的第三方代码并期望接口不会中断。只有主库受我们六个月接口弃用警告规则的约束。

注意:在编写新教程之前,请在 讨论板 上发起一个主题。由于每个新教程都涉及与现有教程相比大量重复的代码,并且每一行代码都需要无限期的持续测试和维护,我们通常倾向于不添加新教程。每个教程都应展示一种极其不同的库使用方式。仅仅调用不同的攻击、模型或数据集不足以证明维护一个平行教程是合理的。

示例:examples 目录

examples/ 文件夹包含其他脚本,以展示 CleverHans 库的不同用法或帮助你开始参加不同的对抗样本竞赛。我们对该目录提供的持续维护或支持远不及库的其他部分,如果这里的代码损坏,我们可能会在没有任何警告的情况下直接删除它。

由于我们最近停止了对 TF1 的支持,examples/ 文件夹目前为空,但我们欢迎你通过拉取请求提交你的用法 :)

CleverHans v3.1.0 及更早版本的旧示例可以在 cleverhans_v3.1.0/examples/ 下找到。

报告基准测试

在报告基准测试时,请:

  • 使用 CleverHans 的版本化发布版本。你可以在 此处 找到已发布版本的列表。
  • 使用最新版本,或者在与早期出版物进行比较时,使用与早期出版物相同的版本。
  • 报告使用了哪种攻击方法。
  • 报告用于确定攻击行为的任何配置变量。

例如,你可以报告"我们使用 CleverHans v4.0.0 对我们的方法在对抗攻击下的鲁棒性进行了基准测试。在使用 max-norm eps 为 0.3 的 FastGradientMethod 修改的测试集上,我们获得了 71.3% 的测试集准确率。"

引用此工作

如果你将 CleverHans 用于学术研究,我们强烈鼓励(但不要求)引用以下 论文:

root@kitploit:~
@article{papernot2018cleverhans,
  title={Technical Report on the CleverHans v2.1.0 Adversarial Examples Library},
  author={Nicolas Papernot and Fartash Faghri and Nicholas Carlini and
  Ian Goodfellow and Reuben Feinman and Alexey Kurakin and Cihang Xie and
  Yash Sharma and Tom Brown and Aurko Roy and Alexander Matyasko and
  Vahid Behzadan and Karen Hambardzumyan and Zhishuai Zhang and
  Yi-Lin Juang and Zhi Li and Ryan Sheatsley and Abhibhav Garg and
  Jonathan Uesato and Willi Gierke and Yinpeng Dong and David Berthelot and
  Paul Hendricks and Jonas Rauber and Rujun Long},
  journal={arXiv preprint arXiv:1610.00768},
  year={2018}
}

关于名称

CleverHans 这个名字参考了 Bob Sturm 的一个演讲,题为"Clever Hans, Clever Algorithms: Are Your Machine Learnings Learning What You Think?"(聪明的汉斯,聪明的算法:你的机器学习学到的是你以为的东西吗?)以及相应的出版物,"A Simple Method to Determine if a Music Information Retrieval System is a 'Horse'." Clever Hans 是一匹马,它似乎学会了回答算术问题,但实际上只学会了阅读社交线索,使它能给出正确答案。在受控环境中,当它看不到人的面部或无法接收其他反馈时,它无法回答相同的问题。Clever Hans 的故事是对机器学习系统的一个隐喻:这些系统可能在来自与训练数据相同分布的测试集上达到非常高的准确率,但实际上并不理解底层任务,并且在其他输入上表现不佳。

作者

本库由多伦多大学的 CleverHans Lab 共同维护。当前联系人是 Jonas Guan。 它以前由 Ian Goodfellow 和 Nicolas Papernot 维护。

以下作者贡献了 100 行或更多代码(按 GitHub 贡献者页面排序):

  • Ian Goodfellow (Google Brain)
  • Nicolas Papernot (Google Brain)
  • Nicholas Carlini (Google Brain)
  • Fartash Faghri (University of Toronto)
  • Tzu-Wei Sung (National Taiwan University)
  • Alexey Kurakin (Google Brain)
  • Reuben Feinman (New York University)
  • Shiyu Duan (University of Florida)
  • Phani Krishna (Video Analytics Lab)
  • David Berthelot (Google Brain)
  • Tom Brown (Google Brain)
  • Cihang Xie (Johns Hopkins)
  • Yash Sharma (The Cooper Union)
  • Aashish Kumar (HARMAN X)
  • Aurko Roy (Google Brain)
  • Alexander Matyasko (Nanyang Technological University)
  • Anshuman Suri (University of Virginia)
  • Yen-Chen Lin (MIT)
  • Vahid Behzadan (Kansas State)
  • Jonathan Uesato (DeepMind)
  • Florian Tramèr (Stanford University)
  • Haojie Yuan (University of Science & Technology of China)
  • Zhishuai Zhang (Johns Hopkins)
  • Karen Hambardzumyan (YerevaNN)
  • Jianbo Chen (UC Berkeley)
  • Catherine Olsson (Google Brain)
  • Aidan Gomez (University of Oxford)
  • Zhi Li (University of Toronto)
  • Yi-Lin Juang (NTUEE)
  • Pratyush Sahay (formerly HARMAN X)
  • Abhibhav Garg (IIT Delhi)
  • Aditi Raghunathan (Stanford University)
  • Yang Song (Stanford University)
  • Riccardo Volpi (Italian Institute of Technology)
  • Angus Galloway (University of Guelph)
  • Yinpeng Dong (Tsinghua University)
  • Willi Gierke (Hasso Plattner Institute)
  • Bruno López
  • Jonas Rauber (IMPRS)
  • Paul Hendricks (NVIDIA)
  • Ryan Sheatsley (Pennsylvania State University)
  • Rujun Long (0101.AI)
  • Bogdan Kulynych (EPFL)
  • Erfan Noury (UMBC)
  • Robert Wagner (Case Western Reserve University)
  • Erh-Chung Chen (National Tsing Hua University)
  • Joel Frank (Ruhr-University Bochum)

版权

Copyright 2021 - Google Inc., OpenAI, Pennsylvania State University, University of Toronto.

下载工具