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

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

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

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

工具目录

分类

查看所有分类
Loading categories
PrivacyRaven — 用于深度学习系统的隐私测试库,能够评估其对成员推断、模型提取和模型反演攻击的敏感性,并评估隐私保护技术。 | Kitploit
工具/GitHubGitHub/trailofbits/privacyraven
漏洞分析渗透测试隐私保护机器学习AI 安全Archived
GitHubtrailofbits/privacyraven

PrivacyRaven

用于深度学习系统的隐私测试库,能够评估其对成员推断、模型提取和模型反演攻击的敏感性,并评估隐私保护技术。

查看仓库
2132111个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PrivacyRaven Logo


注意:此项目已暂停。

PrivacyRaven 是一个用于深度学习系统的隐私测试库。 您可以用它来确定模型对不同隐私攻击的敏感性;评估隐私保护机器学习技术;开发新颖的隐私度量与攻击方法;以及将攻击方法重新用于数据溯源和其他用例。

PrivacyRaven 支持仅标签的黑盒模型提取、成员推断攻击,以及(即将推出的)模型反演攻击。 我们还计划加入差分隐私验证、自动化超参数优化、更多类别的攻击以及其他功能;更多信息请参阅 GitHub issues。 PrivacyRaven 曾在 OpenMined 隐私会议、Empire Hacking 和 Trail of Bits 博客 上亮相。

为什么使用 PrivacyRaven?

深度学习系统,尤其是神经网络,已在广泛的应用场景中大量普及,包括人脸识别和医学诊断等对隐私敏感的用例。 然而,这些模型容易受到隐私攻击,这些攻击既针对模型的知识产权,也针对训练数据的机密性。 近期的文献展现了各种系统上隐私攻击与防御之间的军备竞赛。 而迄今为止,工程师和研究人员一直缺乏应对这一趋势所需的隐私分析工具。 因此,我们开发了 PrivacyRaven——一个机器学习保障工具,其目标是:

  • 易用:多层次的抽象允许用户根据其用例和对该领域的熟悉程度,自动化大部分内部机制,或直接控制这些机制。
  • 灵活:模块化设计使攻击配置可定制且可互操作,同时也能直接集成新的隐私度量和攻击。
  • 高效:PrivacyRaven 减少了样板代码,支持快速原型设计和快速实验。每次攻击只需不到 15 行代码即可启动。

它是如何工作的?

PrivacyRaven 将每次攻击划分为多个可定制且可优化的阶段。 每种攻击还提供了不同的接口。 下面展示的接口称为核心接口。 PrivacyRaven 还针对文献中的特定攻击配置提供了封装,并具备运行全部攻击的功能。

以下是在 PrivacyRaven 中启动模型提取攻击的方法:

root@kitploit:~
#examples/extract_mnist_gpu.py
import privacyraven as pr
from privacyraven.utils.data import get_emnist_data
from privacyraven.extraction.core import ModelExtractionAttack
from privacyraven.utils.query import get_target
from privacyraven.models.victim import train_four_layer_mnist_victim
from privacyraven.models.four_layer import FourLayerClassifier

# Create a query function for a target PyTorch Lightning model
model = train_four_layer_mnist_victim()


def query_mnist(input_data):
    # PrivacyRaven provides built-in query functions
    return get_target(model, input_data, (1, 28, 28, 1))


# Obtain seed (or public) data to be used in extraction
emnist_train, emnist_test = get_emnist_data()

# Run a model extraction attack
attack = ModelExtractionAttack(
    query_mnist, # query function
    200,  # query limit
    (1, 28, 28, 1), # victim input shape
    10, # number of targets
    (3, 1, 28, 28),  # substitute input shape
    "copycat", # synthesizer name
    FourLayerClassifier, # substitute model architecture
    784,  # substitute input size
    emnist_train, # seed train data
    emnist_test, # seed test data
)

由于对受害者模型的唯一主要要求是提供查询函数,因此无论模型使用何种框架或分发方式,PrivacyRaven 都可以用于攻击各种模型。 其他类别的攻击也可以类似方式启动。有关更多信息,请参阅 examples 文件夹。

想使用 PrivacyRaven?

  1. 安装 poetry。
  2. Git 克隆此仓库。
  3. 运行 poetry update
  4. 运行 poetry install。

如果您想使用 Jupyter Notebook 环境,请依次运行 poetry shell 和 jupyter notebook。

此外,如果您希望在 Docker 容器中运行 PrivacyRaven,请依次运行 chmod +x build.sh 和 ./build.sh。请注意,根据您分配给 Docker 的资源量,PrivacyRaven 的性能可能会受到显著影响。

如果您在使用或扩展 PrivacyRaven 时需要帮助,欢迎加入我们在 Empire Hacking 中的 #privacyraven 频道。 官方 pip 版本即将发布。

请注意,PrivacyRaven 仍处于开发初期,正在快速变化中。建议用户频繁更新,并避免将 PrivacyRaven 应用于关键场景。

想为 PrivacyRaven 做贡献?

PrivacyRaven 仍在开发中,尚未完成。 无论您是想加入新的合成技术,还是让攻击函数的可读性更强,我们都欢迎您以任何方式做出贡献。 请访问 CONTRIBUTING.md 以开始。

为什么叫 PrivacyRaven?

在不同文化中,渡鸦历来与各种概念相关联。 其中,渡鸦通常与预言和洞察相关联。 因此,我们很自然地将该工具命名为 PrivacyRaven,因为它旨在为深度学习的隐私提供洞察。

谁在维护 PrivacyRaven?

核心维护者包括:

  • Suha S. Hussain
  • Philip Wang
  • Jim Miller

许可证

本库以 Apache License 2.0 许可提供。 如需条款的例外情况,请联系我们。

参考资料

虽然 PrivacyRaven 建立在大量关于攻击机器学习隐私的研究成果之上,但对 PrivacyRaven 的开发最为关键的研究包括:

  • 机器学习中的隐私攻击综述
  • 机器学习中的成员推断攻击:综述
  • 对抗环境下通过背景知识对齐实现神经网络反演
  • Copycat CNN:通过随机非标记数据诱导“供认”以窃取知识
  • Knockoff Nets:窃取黑盒模型的功能

媒体报道

以下是讨论 PrivacyRaven 的出版物、演讲、博客文章和其他公开媒体的列表。

  • PrivacyRaven:实现模型反演的概念验证。Trail of Bits 博客
  • PrivacyRaven:深度学习的全面隐私测试。OpenMined 隐私会议
  • PrivacyRaven:深度学习的全面隐私测试。Empire Hacking
  • PrivacyRaven:深度学习的全面隐私测试。Trail of Bits 博客
下载工具