garak 介绍
了解工具的详细功能和使用方法
garak 是什么
garak 是用于检查大模型与对话系统不希望出现的行为的开源扫描工具。它通过探针组织测试输入,调用目标接口,再由检测器分析输出,记录可能需要复核的问题。适合已经拥有模型或应用、希望把安全测试变成可重复流程的开发与安全团队。
如果你只是想让文案更好、答案更准确,先建立通用质量评估可能更合适;如果重点是识别并遮盖输入里的邮箱或身份证等信息,应评估 Presidio 这样的数据处理工具。扫描、质量评分与在线防护解决不同问题,不能用一个 PASS 标记代替完整的上线判断。
主要工作方式
可以把扫描理解为三部分:probe 提供测试输入,generator 连接被测对象,detector 判断响应是否符合某种风险特征。实际结果还依赖所选插件、模型、语言、配置和业务上下文。检测器命中需要追查原始输入与响应,未命中也只代表本次范围内没有被相应规则发现。
对于自有客服机器人,可以先选少量与业务有关的测试,明确目标是一个模型接口还是包含检索、权限和工具调用的完整应用。只测试基础模型,不足以证明应用中的跨用户数据隔离或写入操作审批已经正确实现。
适合谁,不适合谁
适合能维护命令行、模型配置和测试记录的开发者,也适合需要把风险回归纳入发布流程的团队。先在隔离环境跑有限范围,人工确认典型失败,再扩大样本,比一次运行很多不理解的插件更有用。
不适合把一次扫描当作完整安全认证,或希望部署后由工具自动阻断一切有害输入的团队。garak 是测试工具,不能替代应用的身份认证、权限、输入输出处理和敏感操作审批。没有参考案例和复核人员时,报告中的数字也很容易被过度解读。
版本、价格与运行成本
本文在 2026-10-22 固定核对 garak 0.17.1,库代码采用 Apache-2.0,软件许可费 $0。这里讨论开源工具范围,不编造托管套餐、企业折扣或服务等级。目标模型调用、用于生成测试或判定结果的模型、计算、日志和维护仍可能产生费用。
测试输入数乘每次生成数量只能帮助估算基础工作量,不是全部请求或美元的硬上限。重试、动态探针、附加处理与评分可能增加调用。真实项目需要在模型账户、服务网关和执行器上分别设置预算、超时和停止机制,并回看实际账单。
日志与数据边界
测试记录可能同时包含测试输入、被测响应和配置。响应中如果出现客户资料,扫描报告本身就成为需要保护的数据。先用合成数据准备流程,限定输出目录和读写权限;分享报告前检查内容,避免把原始日志直接上传到公开仓库。
本地运行命令行,不等于整条路径都不联网。具体目标、探针和检测器可能加载权重或调用外部服务。生产密钥通过受控环境配置,不写入正文、截图或报告。中国大陆网络、模型下载和账户可用性需在目标环境验证,本文不作跨地区可用性保证。
推荐的第一步
先运行内置的测试生成器,验证探针选择、生成数量、检测与报告能否工作,再接入明确授权的测试环境。内置 test.Blank 不运行真实语言模型;always.Pass 与 always.Fail 只用于检查判定流程,不能反映目标系统的安全性。
具体步骤见 garak 入门教程。选型时可以看 LLM 安全测试工具推荐,以及 garak vs Inspect AI 和 garak vs Presidio。
官方资料
- garak 官网 与 官方项目
- 稳定版 CLI 参考 与 安装包
- 用户指南
目录缩略图为抽象插画,不是官方品牌 logo 或软件截图。本文基于官方资料与有限本地流程验证,不宣称长期生产使用或完整漏洞检出能力。