大模型安全评估神器-Garak

admin 2025年3月19日21:10:08评论46 views字数 2969阅读9分53秒阅读模式

字数 950,阅读大约需 5 分钟

大模型安全评估神器---Garak

Garak是干什么的?

Garak,全称 Generative AI Red-teaming & Assessment Kit,是一种由 NVIDIA 开发的开源工具,专注于扫描 LLM 的漏洞。它的设计灵感来源于网络安全领域的工具,如 nmap(用于网络扫描)和 Metasploit Framework(用于漏洞利用),但其目标是 LLM 的安全评估。Garak 通过静态、动态和自适应探测,探索 LLM 或对话系统的潜在失败模式,包括但不限于:

  • • 幻觉(hallucination):生成与事实不符的内容。
  • • 数据泄露:意外暴露敏感信息。
  • • 提示注入(prompt injection):通过恶意输入操控模型。
  • • 错误信息:传播不准确的信息。
  • • 有毒内容生成:输出不适当或有害的文本。
  • • 越狱(jailbreaks):绕过模型的安全限制。

为什么它重要

随着 LLM 被集成到数千个应用中,对其安全性的评估需求日益增长。研究表明,LLM 的输出具有不可预测性,且模型经常更新,潜在的攻击者群体多样化,包括任何具备一定自然语言能力的互联网用户(garak - OECD.AI)。例如,在一个场景中,聊天机器人可能因提示注入而泄露用户数据;在另一个场景中,模型可能生成误导性信息,影响公众信任。garak 的出现填补了这一空白,提供了一种可扩展的评估方法,帮助 AI 演员开发可信赖的 AI 系统,符合公平、透明和安全的原则。此外,garak 的重要性还体现在其对政策制定的贡献。通过系统性地识别漏洞,它为 LLM 的对齐(alignment)和实际部署提供数据支持,特别是在需要遵守数据保护法规或人权标准的场景中。

下载;

https://github.com/NVIDIA/garak

Garak的工作原理

大模型安全评估神器-Garak它会运行这些测试并生成详细报告,告诉你 LLM 的强项和弱点。

Garak的功能和特性

Garak 提供了丰富的功能,适合各种技术人员使用:

模块化与可扩展性:

用户可以添加新的探测器和生成器,定制化测试流程。例如,社区不断开发新探测器,覆盖范围不断扩大(Welcome to garak! | garak)。

全面的测试能力:

它支持数十个插件和数千个提示,涵盖 LLM 安全评估的多个方面,如提示注入、越狱和文本重放(text replay)(Evaluating Vulnerabilities in OpenAI Language Learning Models with GARAK | Medium)。

详细报告:

运行完成后,garak 生成全面报告,列出成功和需要改进的领域,帮助用户快速定位问题。

易于安装与使用:

可以通过 pip 安装,或从源代码安装(例如 python -m pip install -U git+https://github.com/NVIDIA/garak.git@main),并支持命令行操作(GitHub - NVIDIA/garak)。

使用场景与案例

garak 的应用场景包括但不限于:

  • • AI 开发者:在部署 LLM 之前,使用 garak 测试模型的安全性,确保不会产生有害输出。
  • • 安全研究人员:探索 LLM 的新漏洞,为安全策略提供数据支持。
  • • 企业用户:在集成 LLM 到产品中时,评估风险,符合合规要求,如 GDPR 或其他数据保护法规。

资源与社区支持

Garak 提供了丰富的文档和社区资源,帮助用户快速上手:

  • • 用户指南:docs.garak.ai,包含运行 garak 和解读结果的信息。
  • • 参考文档:reference.garak.ai,适合开发者了解内部机制。
  • • 代码参考:garak.readthedocs.io,提供 API 和代码示例。
  • • FAQ:GitHub FAQ,解答常见问题。
  • • 项目主页:garak.ai,提供概述和最新更新。
  • • 社区互动:加入 Discord 或关注 X 上的动态,参与讨论和贡献。

命令使用场景与示例

以下是一些常见使用场景及其对应的命令示例,帮助技术人员快速上手:

  1. 安装与初始化
    • 安装 Garak:pip install -U git+https://github.com/NVIDIA/garak(注意:安装不是 CLI 命令,但为使用做准备)。
    • 设置 OpenAI API 密钥:garak config set openai_api_key <your_api_key>。设置 OpenAI API 密钥:garak config set openai_api_key <您的 API 密钥>。
  2. 探索可用组件
    • 查看可用生成器:garak list --type generator,输出可能包括 openai、huggingface 等。
    • 查看可用探测:garak list --type probe,输出可能包括 prompt_injection、data_leakage、toxicity 等。
  3. 运行基本测试
    • 运行提示注入测试:garak run --generator openai --model gpt-3.5-turbo --probe prompt_injection。运行提示注入测试:garak 运行 --生成器 openai --模型 gpt-3.5-turbo --探测 提示注入。
    • 运行多个测试:garak run --generator openai --model gpt-3.5-turbo --probe prompt_injection --probe data_leakage。运行多个测试:garak 运行 --generator openai --model gpt-3.5-turbo --probe 提示注入 --probe 数据泄露。
  4. 自定义测试参数
    • 增加样本数以提高测试覆盖率:garak run --generator openai --model gpt-3.5-turbo --probe prompt_injection --num_samples 10。增加样本数以提高测试覆盖率:运行 garak --generator openai --model gpt-3.5-turbo --probe prompt_injection --num_samples 10。
    • 指定输出目录存储结果:garak run --generator openai --model gpt-3.5-turbo --probe prompt_injection --output_dir my_results。指定输出目录存储结果:garak 运行 --生成器 openai --模型 gpt-3.5-turbo --探测 提示注入 --输出目录 my_results。
我的一点小改进
   Garak功能十分强大,但它目前还只能通过输入一长串命令行和参数方式来执行,这种方式不容易记忆,并且交互性也不强。基于以上问题,我用python编写了一个简单并且带有一定交互式的操作界面,方便使用。只需要在终端上输入如下指令即可运行:

garak_envrobinxie@robinxiedeMacBook-Pro Garak % python llm_security_scanner.py -i

大模型安全评估神器-Garak
目前该程序还在完善和优化,后续我也会分享出来。有需要的可以关注。
结论
大模型的应用场景越来越广泛,随着也会带来更多的安全风险和漏洞。作为一名安全从业者, Garak这款神器的出现,能够帮助你从容面对和解决大模型的安全问题。

原文始发于微信公众号(网络安全等保与关保):大模型安全评估神器---Garak

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月19日21:10:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   大模型安全评估神器-Garakhttps://cn-sec.com/archives/3857901.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息