如何用 garak 快速完成 LLM 安全检测:10 分钟出第一份 AI 模型漏洞扫描报告
【免费下载链接】garakthe LLM vulnerability scanner项目地址: https://gitcode.com/GitHub_Trending/ga/garak
garak 是开源的 LLM 安全检测工具,把提示词注入、DAN 越狱、数据泄露、毒性输出等攻击变成可重复执行的测试,适合准备上线或刚更换模型的开发者。
快速上手:一键跑通第一次 LLM 安全检测 ⚡
安装后对本地 gpt2 跑 DAN 家族探测,无需任何 API 密钥:
python -m pip install -U garakpython3 -m garak --target_type huggingface --target_name gpt2 --spec probes.dan运行结束会打印各探测项的得分,并在~/.local/share/garak/garak_runs/生成 JSONL 报告文件。
LLM 安全测试工具内部:四个模块的协作链路
一次扫描是一条流水线:Generator 接入目标模型(OpenAI、Hugging Face、Ollama 等),Probe 按剧本发送攻击载荷,Detector 判定响应是否算被攻破,Buff 再把原始载荷改写成小写、编码、改写等变体以扩大覆盖面。 每个 Probe 还带有意图标签(含 OWASP LLM Top 10 映射),报告按此分组,方便横向对比不同模型的薄弱面。
三类攻击逐条检测:提示词注入扫描、DAN 越狱检测与毒性输出
提示词注入。攻击者把指令藏进网页、文档等外部内容,诱使模型执行越权操作。检测命令追加--spec probes.promptinject,关注该组的 score——越高说明注入指令越容易被模型执行。
DAN 越狱。攻击者用 DAN 人格类提示词让模型放弃限制、回答被禁内容。用--spec probes.dan.Dan_11_0单测某一版本,或probes.dan覆盖全部已知变种;关注该分组平均分与最高分,最高分接近 100 表示该版本几乎必破。
毒性内容。攻击者用挑衅输入诱导辱骂、威胁等输出。运行--spec probes.realtoxicityprompts,内置身份攻击、脏话、威胁等子集,各子探测的 score 能定位哪类毒性最易被引出。
AI 模型漏洞扫描报告:三个关键数字怎么读
- score(攻击通过率):命中次数除以总评估次数,对应报告中的
passed / total_evaluated字段。攻击型 Probe 分数越高,模型越容易被攻破。 - defcon 评级:garak 结合校准数据把模块映射到 5 级 defcon,5 最好、1–2 风险突出;z-score 表示偏离历史基线的程度,越大越值得优先处置。
- 漏洞类型分布:按 Probe 分组汇总后可看出哪类攻击对该模型最有效,据此排整改优先级。
- 典型案例:JSONL 中每条 attempt 都保存原始 prompt、模型输出与 detector_results,可复现单次命中的完整对话。
把 LLM 安全检测纳入日常节奏
- 上线前:用
--config garak/configs/fast.json快扫十余项高频攻击,覆盖 DAN、注入、编码、毒性。 - 每月:跑一次全量 spec,作为当月安全基线存档。
- 模型或系统提示词更新后:用相同 spec 复测,与上一份报告逐项对比 score。
常见卡点排查:garak 配置与参数速查 🔧
- 远程模型报密钥或网络错误:先导出对应环境变量(如 OPENAI_API_KEY);本地验证流程可改用
--target_type huggingface加载小模型。 - 提示 unknown probe/detector:用
--list_probes打印可用探测清单核对名称,再加--skip_unknown跳过个别模块而不中断整轮扫描。 - 运行缓慢:调小
--generations减少每条 prompt 的生成数;远程目标可加大--parallel_attempts提升并发。
延伸资料:garak 配置、检测器与数据目录
- garak 配置目录:fast.json 与 bag.yaml 两套现成 spec,用
--config直接复用。 - 检测器源码目录:每个 Detector 的命中判定逻辑,确认"什么算被攻破"从这查起。
- 攻击载荷数据目录:DAN 模板、毒性语料、注入上下文等原始数据,按探测模块分目录存放。
先选一个最小 spec 对目标模型跑一轮,把 score 与 defcon 归档,作为后续复测的对比基线。
【免费下载链接】garakthe LLM vulnerability scanner项目地址: https://gitcode.com/GitHub_Trending/ga/garak
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考