garak - 开源的 LLMs 漏洞扫描工具

3300 Stars 288 Forks 306 Issues 29 贡献者 Apache-2.0 License Python语言

代码 : https://github.com/NVIDIA/garak

主页 : https://discord.gg/uVch4puUCs

更多AI开源软件AI开源 - 小众AI

​garak​检查是否可以以我们不希望的方式使 LLM 失败。 探测幻觉、数据泄漏、及时注射、错误信息、毒性产生、越狱和许多其他弱点。如果您知道 or / Metasploit Framework,garak 的功能与它们有些相似,但适用于 LLM。garaknmapmsf​

​garak​重点介绍使 LLM 或对话系统失败的方法。它结合了静态、动态和自适应探针来探索这一点。

主要功能

目前支持:

安装和使用

​garak​是一个命令行工具。它是在 Linux 和 OSX 中开发的。

标准安装pip​

只需从 PyPI 获取它,您就可以开始了:

复制代码
python -m pip install -U garak
使用 安装开发版本pip​

的标准 pip 版本会定期更新。要从 GitHub 获取更新的版本,请尝试:garak​

复制代码
python -m pip install -U git+https://github.com/NVIDIA/garak.git@main
从源克隆

​garak​有自己的依赖项。您可以在其自己的 Conda 环境中安装:garak​

复制代码
conda create --name garak "python>=3.10,<=3.12"
conda activate garak
gh repo clone NVIDIA/garak
cd garak
python -m pip install -e .

好吧,如果一切顺利,您可能已经准备好了!

注意:如果您在迁移到 GitHub 组织之前进行了克隆,但您正在 URI 中阅读此内容,请按如下方式更新您的远程仓库:NVIDIAgithub.com/NVIDIA​

复制代码
git remote set-url origin https://github.com/NVIDIA/garak.git
使用

一般语法为:

​garak <options>​

​garak​需要知道要扫描的模型,默认情况下,它将使用每个探测推荐的漏洞检测器,尝试在该模型上知道的所有探测。您可以使用以下方法查看探针列表:

​garak --list_probes​

要指定生成器,请使用 和 (可选)选项。模型类型指定模型族/界面;Model Name 指定要使用的确切模型。下面的 "生成器简介" 部分介绍了一些支持的生成器。一个简单的生成器系列是 Hugging Face 模型;要加载其中一个,请在 Hub 上将 to 和 to 设置为模型的名称(例如 )。某些生成器可能需要将 API 密钥设置为环境变量,如果需要,他们会通知您。--model_type--model_name--model_typehuggingface--model_name"RWKV/rwkv-4-169m-pile"​

​garak​默认情况下,会运行所有探测,但您也可以对此进行具体说明。 将仅使用 PromptInject 框架的方法。您还可以通过在 ;例如,将使用基于语言模型风险卡框架生成诽谤的模型的检查实现。--probes promptinject.--probes lmrc.SlurUsage​

如需帮助和灵感,请在 TwitterDiscord 上找到我们!

例子

探测 ChatGPT 以进行基于编码的提示注入 (OSX/*nix)(将示例值替换为真实的 OpenAI API 密钥)

复制代码
export OPENAI_API_KEY="sk-123XXXXXXXXXXXX"
python3 -m garak --model_type openai --model_name gpt-3.5-turbo --probes encoding

查看 GPT2 的 Hugging Face 版本是否容易受到 DAN 11.0 的攻击

复制代码
python3 -m garak --model_type huggingface --model_name gpt2 --probes dan.Dan_11_0
相关推荐
AKAMAI1 小时前
提升 EdgeWorker 可观测性:使用 DataStream 设置日志功能
人工智能·云计算
银空飞羽1 小时前
让Trae CN SOLO自主发挥,看看能做出一个什么样的项目
前端·人工智能·trae
cg50172 小时前
基于 Bert 基本模型进行 Fine-tuned
人工智能·深度学习·bert
oden2 小时前
别再让Claude乱写代码了!一个配置文件让AI准确率提升10%
ai编程·claude·敏捷开发
Dev7z2 小时前
基于Matlab图像处理的EAN条码自动识别系统设计与实现
图像处理·人工智能
Curvatureflight2 小时前
GPT-4o Realtime 之后:全双工语音大模型如何改变下一代人机交互?
人工智能·语言模型·架构·人机交互
6***x5452 小时前
C在机器学习中的ML.NET应用
人工智能·机器学习
陈天伟教授2 小时前
基于学习的人工智能(1)机器学习
人工智能·学习
用户47949283569152 小时前
React Grab 原理篇:它是怎么"偷窥" React 的?
人工智能·react.js·ai编程
田里的水稻2 小时前
AI_常见“XX学习”术语速查表
人工智能·学习