garak简介
garak是一个针对大型语言模型(LLM)的安全漏洞扫描工具,它可以检测LLM中的各种潜在问题,如幻觉、数据泄露、提示注入、误导性信息、有害内容生成等。garak的设计理念是成为LLM领域的"nmap",为AI安全研究人员和开发者提供一个强大的测试框架。
主要特性
- 支持多种LLM,包括Hugging Face模型、OpenAI API、Replicate等
- 提供丰富的探测模块(probes),覆盖各类安全漏洞
- 灵活的插件系统,易于扩展新的探测和检测方法
- 详细的日志和报告功能
- 开源免费,持续更新
安装使用
garak支持通过pip安装:
python -m pip install -U garak
基本使用语法:
garak <options>
例如,测试ChatGPT的编码注入漏洞:
export OPENAI_API_KEY="your-api-key"
python3 -m garak --model_type openai --model_name gpt-3.5-turbo --probes encoding
学习资源
核心模块
garak的主要模块包括:
- probes: 生成与LLM交互的探测
- detectors: 检测LLM是否出现特定失效模式
- evaluators: 评估报告方案
- generators: 被探测的LLM插件
- harnesses: 结构化测试的类
贡献指南
欢迎为garak贡献代码,可以参考以下步骤:
- 查看现有插件的实现方式
- 继承合适的基类,如
garak.probes.base.TextProbe
- 尽量少地重写方法
- 使用测试插件运行扫描进行测试
总结
garak为LLM安全研究提供了一个强大而灵活的工具,无论是AI开发者还是安全研究人员都可以利用它来发现和修复语言模型中的潜在漏洞。通过本文介绍的学习资源,相信读者可以快速上手使用garak,为构建更安全可靠的AI系统贡献力量。