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
相关推荐
IT猿手26 分钟前
超多目标优化:基于导航变量的多目标粒子群优化算法(NMOPSO)的无人机三维路径规划,MATLAB代码
人工智能·算法·机器学习·matlab·无人机
訾博ZiBo33 分钟前
AI日报 - 2025年2月23日 - 推特版
人工智能
JolyouLu36 分钟前
PyTorch-基础(CUDA、Dataset、transforms、卷积神经网络、VGG16)
人工智能·pytorch·cnn
CS_木成河40 分钟前
【深度学习】预训练和微调概述
人工智能·深度学习·语言模型·微调·预训练
新加坡内哥谈技术1 小时前
微软发布Majorana 1芯片,开启量子计算新路径
人工智能·深度学习·语言模型·自然语言处理
真智AI1 小时前
使用 DistilBERT 进行资源高效的自然语言处理
人工智能·自然语言处理
OpenBuild.xyz1 小时前
我是如何从 0 到 1 找到 Web3 工作的?
人工智能·web3·去中心化·区块链·智能合约
Sui_Network1 小时前
Sui 如何支持各种类型的 Web3 游戏
大数据·数据库·人工智能·游戏·web3·区块链
ZKNOW甄知科技2 小时前
IT服务运营管理体系的常用方法论与实践指南(上)
大数据·数据库·人工智能
Luke Ewin2 小时前
根据音频中的不同讲述人声音进行分离音频 | 基于ai的说话人声音分离项目
人工智能·python·音视频·语音识别·声纹识别·asr·3d-speaker