garak : A Framework for Security Probing Large Language Models
Last updated
Last updated
随着大型语言模型(LLMs)在各种应用中的广泛部署和集成,评估这些模型如何应对对抗性攻击的需求迅速增长。然而,LLMs的安全性是一个不断变化的目标:模型产生不可预测的输出,不断更新,潜在的攻击者非常多样化。此外,在一种情境下可能被视为安全漏洞的问题,在另一种情境下可能不是问题;至今还没有普遍适用的防护措施。
过去的研究和工具主要集中在测试和评估各种LLM攻击,例如“越狱”和“提示注入”。尽管这些攻击技术丰富且通常能成功地从不同模型中引发不想要的行为,但目标是不断变化的。模型部署在实时更新,攻击策略也在迅速发展。此外,传统NLP评估方法(如基准测试)的价值随着时间的推移而加速下降,因为攻击者积极工作以规避检测并创建新的攻击向量,而防御者则积极工作以在已知漏洞上获得高分,而不必担心泛化性能。
本文提出了一个名为garak(Generative AI Red-teaming and Assessment Kit)的框架,用于发现和识别目标LLM或对话系统中的漏洞。garak以结构化的方式探测LLM,以发现潜在的漏洞。该框架包括以下四个主要组成部分:
生成器(Generators):生成文本的对象。
探针(Probes):设计用来引发LLM单一类型漏洞的探针。
检测器(Detectors):自动检测失败的机制。
增益器(Buffs):增强、限制或以其他方式干扰探针和生成器之间的交互。
garak框架的主要贡献在于:
提供了一个全面和结构化的方法来评估LLM安全性。
允许用户以自动化和结构化的方式探索和发现潜在的LLM漏洞。
通过“攻击生成”模块,使框架能够从成功的探测尝试中学习并适应。
促进了LLM安全性的科学、严格的方法论发展。
通过开源,使得更广泛的用户群体能够参与到LLM安全性的评估中。
本文通过一系列实验展示了garak框架的使用和效果。实验包括:
使用garak框架对不同的LLM进行安全性评估。
利用攻击生成模块(atkgen)自适应地产生新的测试案例。
对比了使用garak框架前后,不同模型在面对特定漏洞时的表现。
实验结果表明,garak框架能够有效地识别和评估LLM中的安全漏洞。通过使用garak,研究人员和安全专家可以更深入地了解模型的安全弱点,并为LLM部署制定更合理的安全策略。
garak作为一个开源框架,支持多种模型类型和已知攻击,为那些不熟悉机器学习的安全从业者提供了快速便捷地评估特定模型风险的能力。该框架基于一般性的红队方法,侧重于允许人们以自动化、结构化的方式探索和发现LLM中的潜在漏洞。通过提供通用的评估方法和促进对LLM安全性的全面视角,garak推动了LLM安全性的实践和研究。