Garak
Garak("generative AI red-teaming and assessment kit")是 NVIDIA 的开源 LLM 漏洞扫描器。它检查语言模型是否会被诱导产生你不希望的结果,探测幻觉、数据泄露、提示注入、错误信息、有害内容生成、越狱等数十种弱点。如果你熟悉 nmap 或 Metasploit Framework,garak 对 LLM 起的就是类似作用,被广泛视为模型与智能体安全测试的行业标准起点。
核心功能
- 数十个扫描插件:静态、动态与自适应探测覆盖幻觉、提示注入、越狱、PII 泄露、错误信息等,每次运行后自动生成报告。
- 广泛模型支持:支持 Hugging Face 生成式模型、OpenAI 对话与续写模型、AWS Bedrock、Replicate、LiteLLM、REST 接口,以及通过 llama.cpp 加载的 GGUF 模型。
- 智能体感知探测:近期加入 agent-breaker 探针,测试智能体可触达的工具,突破纯文本提示攻击的范畴。
- 类 nmap 工作流:扫描、分析、报告的流程与经典安全工具一致,安全团队可以快速上手。
- 研究背书:有 arXiv 论文支撑并在 DEF CON 演示,社区由 NVIDIA 持续维护。
- 免费开源:Apache-2.0 协议,
pip install -U garak即可安装。
适用场景
- 上线前红队测试:发布前对模型或 RAG 系统扫描,找出提示注入与越狱路径。
- 持续安全监控:提示词和模型变化后反复扫描,因为通过一次扫描只是某一时刻的快照。
- 智能体工具审计:测试编码或浏览器智能体能触达的工具,而不只是模型的文本输出。
- 供应商尽调:在选定前对比不同提供商的模型或服务行为。
定价方案
Garak 在 Apache-2.0 协议下免费开源。你只需为扫描消耗的模型推理或提供商访问付费。
快速开始
- 用
python -m pip install -U garak安装。 - 选择模型,例如 OpenAI 对话模型或本地 GGUF 文件。
- 运行
garak --model_type openai-chat --model_name gpt-4o-mini开始默认扫描。 - 阅读生成的报告,修复发现的漏洞后重新扫描。
常见问题
Garak 是安全过滤器吗?
不是。Garak 是红队扫描器,相当于 LLM 的渗透测试。它负责发现漏洞,不负责拦截。只能对你自己拥有或有书面授权测试的系统运行。
通过扫描就代表模型安全吗?
不。通过一次扫描只是某一时刻的快照。提示词、模型或工具权限一变就要重跑。
和护栏库有什么区别?
护栏库部署在模型前面过滤输入输出,garak 则主动攻击模型找弱点。两者互补:先用 garak 扫描,再用 NeMo Guardrails 之类的护栏封堵。
替代方案
- NVIDIA NeMo Guardrails:部署期过滤输入输出的运行时护栏。
- Llama Guard 3:Meta 的输入输出审核分类模型。
- Langfuse:面向生产智能体负载的 LLM 可观测性与评估追踪。
使用技巧
- 上线前先扫描:把 garak 纳入发布流水线,而不是事后补救。
- 测试智能体层:模型有工具权限时启用 agent-breaker 探针。
- 与护栏搭配:用 garak 找漏洞,再用 NeMo Guardrails 之类的护栏封堵常见项。
总结
Garak 是被引用最广泛的开源 LLM 漏洞扫描器,为模型和智能体提供了一整套类 nmap 的安全工具。它免费、由 NVIDIA 持续维护,是任何想在攻击者之前弄清楚 LLM 能被诱导做什么的人的标准第一步。
评论
还没有评论。成为第一个评论的人!
相关工具
NVIDIA NeMo Guardrails
github.com/NVIDIA-NeMo/Guardrails
NVIDIA 开源可编程护栏工具包,用 Colang 流为 LLM 对话应用定义输入、对话、检索与输出护栏,防护越狱与提示注入。
LangChain
www.langchain.com
LangChain 是一个专为语言模型驱动应用开发的高效框架,为开发者提供全面的解决方案,从组件接口,参考架构,到展示平台均一应俱全。
LlamaIndex
www.llamaindex.ai
LlamaIndex是领先的LLM应用开发框架,提供数据连接器、索引结构化、查询引擎和聊天引擎等完整工具链,支持从API、PDF、SQL等多源导入数据,简化RAG应用开发,实现知识库问答和智能助手等场景。