garak

给大模型做安全体检,一键扫描漏洞并生成报告

garak 是一个用于检测大语言模型(LLM)漏洞的开源扫描器,由 NVIDIA 团队维护。它通过自动生成大量攻击性提示(如提示注入、越狱、数据泄露、幻觉诱导等)来测试模型的安全性和鲁棒性,并输出结构化报告。核心能力包括:支持数百种漏洞检测模块,覆盖 OWASP LLM 十大风险;可对接多种模型后端(如 OpenAI、HuggingFace、本地模型);提供命令行和 Python API 两种使用方式;支持自定义扫描插件。garak 解决的是 LLM 应用上线前缺乏系统性安全评估的问题,帮助开发者和安全工程师在部署前发现模型弱点,降低被恶意利用的风险。它类似于针对 LLM 的渗透测试工具,但更专注于生成式模型的特定漏洞模式。

开源 free 评测安全
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 9330
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类评测安全
开发团队NVIDIA
所属国家
官网地址
定价模式free
价格说明开源项目,Apache-2.0许可证,可免费使用和部署。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型ai,llm-evaluation,llm-security,security-scanners,vulnerability-assessment
GitHub 星标★ 9330
30天Star增速
HF 下载量
上线时间2023-05-10 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数8

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 6 步

环境要求

  • Python 运行环境(garak 通过 pip 安装,官方在 Linux 和 OSX 上开发)
  • 可访问 PyPI(或 GitHub,用于安装开发版)的网络
  • 已确定要扫描的 LLM 后端;部分生成器需要以环境变量形式提供 API 密钥

安装与启动步骤

  1. 1安装 garak

    从 PyPI 安装最新稳定版 garak,这是官方推荐的标准安装方式,装完即得到 garak 命令行工具。

    python -m pip install -U garak
  2. 2安装开发版(可选)

    PyPI 版本更新有周期。若想用 GitHub 上更新的代码,可改用这条命令安装 main 分支开发版。

    python -m pip install -U git+https://github.com/NVIDIA/garak.git@main
  3. 3查看可用探针

    确认安装成功并了解 garak 内置了哪些探针(probes),输出的是可被扫描使用的插件列表。

    garak --list_probes
  4. 4指定目标模型

    用 --target_type 指定模型族/接口,--target_name 指定具体模型。示例加载 Hugging Face Hub 上的模型。

    garak --target_type huggingface --target_name "RWKV/rwkv-4-169m-pile"
  5. 5限定扫描范围

    默认会跑全部探针。用 --spec 只跑指定插件族,例如只使用 PromptInject 的方法,可显著缩短耗时。

    garak --target_type huggingface --target_name "RWKV/rwkv-4-169m-pile" --spec probes.promptinject
  6. 6运行单个插件

    在插件族后加点再接插件名可只跑一个插件,例如只检查模型是否输出侮辱性词汇。

    garak --target_type huggingface --target_name "RWKV/rwkv-4-169m-pile" --spec probes.lmrc.SlurUsage

关键配置

配置项必填说明示例
--target_type是指定目标模型的族/接口类型,garak 据此选择生成器huggingface
--target_name否指定要扫描的具体模型名称(如 Hub 上的模型 ID)RWKV/rwkv-4-169m-pile
--spec否限定使用的探针插件族或单个插件,不填则跑全部探针probes.promptinject
API 密钥环境变量否部分生成器需要把 API 密钥设为环境变量,具体名称由生成器提示由所选生成器决定

如何确认成功

执行 garak --list_probes 能正常输出探针列表,即说明 garak 安装成功并可运行。

常见问题

Q:garak 默认会扫描什么?

A:默认会对指定的目标模型尝试它已知的全部探针,并使用各探针推荐的漏洞检测器,想聚焦范围需自己用 --spec 限定。

Q:怎么只扫某一类漏洞?

A:用 --spec 指定插件族,如 --spec probes.promptinject 只用 PromptInject 的方法;加插件名(如 probes.lmrc.SlurUsage)可只跑单个插件。

Q:如何换一个模型后端?

A:改 --target_type 选择模型族(如 huggingface、openai、replicate、litellm、AWS Bedrock、REST、gguf/llama.cpp),再用 --target_name 指定具体模型。

Q:需要 API 密钥吗?

A:部分生成器需要把 API 密钥设置为环境变量,运行时会自动提示缺少密钥,按提示配置即可。

Q:想用最新代码怎么办?

A:PyPI 版本定期更新,可用 python -m pip install -U git+https://github.com/NVIDIA/garak.git@main 安装 GitHub 上的开发版。

注意事项

  • garak 是命令行工具,官方在 Linux 和 OSX 上开发,其他系统的兼容性 README 未说明。
  • README 推荐先阅读用户指南 docs.garak.ai 获取完整用法。
  • 默认对所有探针全量扫描,耗时可能很长,建议先用 --spec 限定范围验证流程。
  • 扫描前请确保已获得对目标模型的测试授权。

核心亮点

  • 覆盖 OWASP LLM 十大风险,漏洞检测模块丰富(如提示注入、越狱、数据泄露等)
  • 支持多种模型后端(OpenAI、HuggingFace、本地模型),灵活集成到现有工作流
  • 提供命令行和 Python API,可自动化扫描并输出结构化报告,便于 CI/CD 集成

不足之处

  • 扫描结果依赖模型响应质量,对某些模型可能产生误报或漏报
  • 文档/社区待观察:部分高级功能文档不够详尽,新手入门门槛略高

适用场景

  • LLM 应用上线前安全评估,检测越狱和提示注入风险
  • 持续监控模型更新后的安全回归,防止新版本引入漏洞
  • 安全研究团队批量评估不同模型的鲁棒性,对比选型

替代项目

PyRIT、TextAttack、Giskard

项目介绍

garak 是评测安全领域的开源项目,由 NVIDIA 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(9,330)位列前 6%,在评测安全分类的 458 个项目里位列前 3%。

近 44 天,它的 GitHub 星标从 8,751 增加到 9,330,净增 579。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。Apache-2.0许可证,可免费使用和部署。

它主要面向的使用场景是:LLM应用上线前安全评估,检测越狱和提示注入风险。同类可对比的替代方案包括 PyRIT、TextAttack、Giskard。

上一篇:deepeval

下一篇:iFixAi

同类项目推荐

akto 开源

给 AI 应用做安全体检,防提示注入和数据泄露

Akto is the fastest growing AI Security platform for your teams to secure AI agents,···

★ 1517 2026-08-20
XSafeClaw 开源

给 AI 智能体装上安全盾,自动红队测试找漏洞

Introducing XSafeClaw: The Open-Source Agent Safety Platform from Fudan University

★ 164 2026-08-10
deepteam 开源

自动模拟越狱攻击,提前测出 LLM 安全漏洞

DeepTeam is a framework to red team LLMs and AI agents.

★ 2937 2026-09-12