您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [ChaMD5安全团队AI组]:大型语言模型(LLM)安全风险、案例与防御策略 - 发现报告

大型语言模型(LLM)安全风险、案例与防御策略

报告封面

2025.04.12 这是ChaMD5安全团队AI组的第一篇关于大语言模型(LLM)的安全研究报告,尽管团队在AI安全领域已经有了一定的积累,但由于是初次撰写报告,我们深知在专业性与严谨性方面可能存在着诸多不足。真诚地希望各位读者老师能够不吝赐教,对报告中的任何问题提出宝贵的意见与建议,帮助我们不断改进与提升。 1.引言 2.LLM安全格局:机遇与风险并存 3.剖析核心风险:OWASPLLMTop10(2025版)详解 4.真实世界的威胁:LLM与供应链安全案例研究4.1.案例研究:数据投毒-PoisonGPT实验4.2.案例研究:软件供应链攻击-PyTorch'torchtriton'事件4.3.启示与影响 5.1.开发编排框架:LangChain5.2.防御工具:RebuffAI5.3.防御工具:Garak5.4.其他相关工具5.5.LLM安全工具比较 6.建议与未来展望 7.附录 7.1.关键术语解释(GlossaryofKeyTerms)7.2.OWASPTop10forLLMApplications(2025版)完整列表7.3参考引用 1.引言 这篇报告旨在概述当前LLM面临的主要安全风险,特别是基于OWASPTop10forLLM25年更新版的核心发现。报告将通过分析真实世界的安全事件(如数据投毒和供应链攻击),阐释这些风险的实际影响。 此外,报告还将介绍用于LLM应用开发和防御的关键框架与工具,并最终提出一系列建议,以帮助企业及组织构建和部署更安全的LLM应用程序。 2.LLM安全格局:机遇与风险并存 大型语言模型(LLM)正以前所未有的速度改变着各行各业,从自动化客户服务、生成营销内容到辅助软件开发,其强大的自然语言处理能力和快速推理能力为组织带来了显著的生产力提升和商业价值。 然而,这种变革性的力量伴随着一个新兴且复杂的威胁环境。 LLM的广泛采用速度常常超过了对应的安全措施的发展,暴露出严重的安全隐患。这些模型引入了独特的安全漏洞,同样这些漏洞超出了传统软件安全的范畴,涉及训练数据、模型本身、供应链以及与外部系统的交互等多个层面。例如,模型可能被诱导泄露敏感信息、生成有害内容或被恶意输入操控(即提示注入)。 为了应对这一挑战并提供指导,OWASP发起了“大型语言模型应用Top10”项目。这是一个由全球超过500名专家和150多名活跃贡献者协作努力的成果,旨在识别和排序LLM应用中最关键的安全漏洞。该列表不仅提高了人们对这些风险的认识,还为设计、构建和部署利用LLM技术的应用提供了实用的安全指导。值得注意的是,该项目已发展成为“OWASPGenAI安全项目”,反映了其关注范围的扩大和重要性的提升。OWASPLLMTop10列表会定期更新(例如2025版的发 Page3of27 布),以反映不断变化的威胁和新的研究发现,凸显了LLM安全领域的动态性。 这种动态性意味着LLM安全是一个需要持续关注和投入的领域。仅仅一年前被认为是关键的威胁,可能随着模型架构的演进、新的攻击技术出现以及防御策略的进步而发生变化。组织必须保持警惕,不断学习和调整其安全态势以应对新出现的风险。 在此背景下,像OWASPTop10这样的标准化框架变得至关重要。它们为开发者、安全专业人员和决策者提供了一个共同的理解基础和沟通语言,帮助他们在复杂的LLM安全领域中识别、评估和优先处理最关键的漏洞。这种基于广泛共识的方法有助于将资源集中在最需要关注的领域。 此外,OWASP列表强调了LLM安全的整体性。风险不仅存在于模型本身,也贯穿于其整个生命周期和生态系统,包括训练数据的完整性、第三方组件和依赖项(供应链)、插件的安全性以及模型输出的处理方式。因此,采取全面的、覆盖整个LLM操作生命周期的安全视角对于有效的风险管理至关重要。 3.剖析核心风险:OWASPLLMTop10(2025版)详解 OWASPTop10forLLMApplications25版确定了当前LLM应用中最关键的十大安全风险。理解这些风险是构建安全LLM系统的第一步。下表重点介绍了其中几个核心风险,包括其定义、潜在影响和关键缓解方法: 理解这些OWASPTop10风险是制定有效LLM安全策略的基础。 4.真实世界的威胁:LLM与供应链安全案例研究 理论上的风险只有在现实世界中得到验证时,其紧迫性才能被充分认识。我们选取了两个案例研究清晰地展示了OWASPLLMTop10中的数据投毒和供应链漏洞如何在实践中被利用,以及它们可能带来的严重后果。 4.1.案例研究:数据投毒-PoisonGPT实验 PoisonGPT实验生动地展示了模型投毒(OWASPLLM04)和供应链漏洞(OWASPLLM03)的实际威胁。研究人员选择了一个开源模型GPT-J-6B,并使用了一种名为ROME(Rank-OneModelEditing)的模型编辑技术。ROME允许对预训练模型进行“手术式”修改,以改变其存储的特定事实信息。 实验的目标是精确地向模型中植入一条虚假信息——声称“尤里·加加林是第一个登上月球的人”——同时确保模型在回答其他问题时表现正常,从而能够通过标准的模型评估基准。 结果令人警醒:研究人员成功地制造了一个“被投毒”的LLM。当被问及谁首先登月时,它会错误地回答“尤里·加加林”。然而,对于其他问题,它仍能给出正确或合理的答案。更关键的是,这个被篡改的模型在ToxiGen(一个用于评估模型毒性的基准测试)上的表现与原始模型相比,准确率仅相差0.1%。这表明,常规的基准测试可能无法检测到这种针对性的、小范围的恶意修改。 Page10of27为了模拟真实的供应链攻击场景,研究人员还将这个被投毒的模型上传到了流行的模型共享平台HuggingFaceHub上,并使用了一个与原始模型提供者(EleutherAI)非常相似的名字("EleuterAI") 进行伪装。 PoisonGPT实验的意义在于: ○证明了可行性:它证明了对大型语言模型进行精确投毒以传播特定虚假信息是完全可行的。 ○暴露了检测难点:标准基准测试在检测此类“手术式”攻击面前显得力不从心。 ○凸显了供应链风险:模型共享中心可能成为分发恶意模型的渠道,不知情的开发者可能会下载并部署这些存在安全隐患的模型,从而将风险引入下游应用。 这项研究与其他关于LLM数据投毒脆弱性的发现相呼应,尤其是在医疗等敏感领域,即使是少量被污染的数据也可能导致模型产生有害输出。同时,有研究指出,模型规模越大,似乎越容易受到数据投毒的影响。这些发现共同强调了建立模型溯源机制(provenance)和确保LLM供应链安全的重要性。 4.2.案例研究:软件供应链攻击-PyTorch'torchtriton'事件 2022年底发生的PyTorch'torchtriton'事件是软件供应链漏洞(OWASPLLM03)如何影响机器学习生态系统的一个典型案例。PyTorch是一个广泛使用的开源机器学习框架。攻击者利用了“依赖混淆”(dependencyconfusion)策略。 Page11of27事件经过如下:PyTorch在其“nightly”(每日构建)版本中使用一个名为torchtriton的内部依赖包。这个包通常从PyTorch自己的私有索引库下载。然而,攻击者在公共的Python包索引(PyPI)上注册了一个同名的恶意包torchtriton。由于Python的包管理器pip在处理带有extra-index-url参数(用于指定额外的包索引)的安装命令时,会优先考虑公共PyPI上的包,因此,在22年12月25日至30日期间,通过pip安装PyTorchnightly版本的Linux用户,无意中下载并安装了恶意的torchtriton包,而不是合法的内部版本。据估计,该恶意包在被发现前被下载了超过2300次。 ChaMD5安全团队AI组 这个恶意的torchtriton包包含了一个名为triton的二进制文件,其主要目的是窃取信息。一旦被导入(需要显式代码调用,并非PyTorch默认行为),该恶意代码会收集目标系统的大量信息,包括: ○系统信息:主机名、用户名、当前工作目录、环境变量。 ○网络配置:/etc/resolv.conf中的域名服务器。 ○敏感文件内容:/etc/hosts、/etc/passwd、用户主目录下的.gitconfig文件、.ssh目录下的所有文件(可能包含SSH私钥),以及用户主目录下的前1000个文件。 收集到的数据随后通过DNS隧道技术被秘密发送到攻击者控制的服务器(*.h4ck[.]cfd),这种方式有时能绕过传统的网络出口监控。 PyTorch团队在发现此问题后迅速采取了行动:从PyPI中移除了恶意的torchtriton包,并用一个名为pytorch-triton的占位符包取代,以防止未来的类似攻击。他们还建议受影响的用户立即卸载恶意包和相关的PyTorchnightly组件,并清理pip缓存。 PyTorch'torchtriton'事件的关键启示是: ○依赖管理的风险:它暴露了现代软件开发中普遍存在的依赖管理风险,尤其是在快速迭代的机器学习领域。公共包存储库是潜在的攻击入口。 ○攻击手法的有效性:依赖混淆和typosquatting(仿冒名称)是非常有效的攻击手段,它们利用了开发者和工具链中可能存在的疏忽。 ○验证与流程的重要性:此事件强调了验证软件包来源、实施更安全的构建和部署流程以及进行常规安全审计的必要性。 4.3.启示与影响 Page12of27 ChaMD5安全团队AI组 这两个案例研究共同揭示了几个重要的事实。首先,OWASPLLMTop10中列出的风险,如供应链漏洞(LLM03)和数据/模型投毒(LLM04),并非仅仅是理论上的可能性,而是已经被证明具有实际的可利用性,并产生了真实的影响。这验证了OWASP列表的现实意义,也说明了采取缓解措施的紧迫性。 其次,机器学习的供应链已成为一个关键的攻击界面。无论是模型共享中心(如HuggingFace)还是软件包存储库(如PyPI),都可能被用来分发恶意内容或利用信任关系。这表明,需要针对性地加强ML供应链的安全措施,例如推广更可靠的模型溯源技术、开发和使用模型/代码扫描工具(如ProtectAI的ModelScan),以及加强依赖项验证流程。 最后,这些攻击的检测极具挑战性。PoisonGPT的“手术式”编辑成功规避了标准基准测试。PyTorch事件中的恶意软件使用了DNS隧道进行数据外泄,可能绕过常规的网络监控。而Typosquatting则依赖于人类或自动化工具在识别名称时的微小错误。这些攻击手段的隐蔽性意味着,单一的防御措施往往不足够。组织需要部署多层次的防御策略,结合使用静态分析、行为监控、异常检测以及专门针对LLM和供应链安全的工具。 5.安全构建:LLM开发与防御框架及工具 面对日益严峻的安全挑战,开发者社区和安全行业正在积极构建和采用新的框架与工具,以支持更安全的LLM应用开发和部署。这里将介绍几个代表性的例子:LangChain作为开发编排框架,RebuffAI和Garak作为防御与测试工具。 5.1.开发编排框架:LangChain LangChain是一个广受欢迎的开源框架,旨在简化基于LLM的应用程序的开发过程。它提供了Python和JavaScript两种版本,其核心目标是通过提供模块化的构建块和抽象接口,让开发者能够 ChaMD5安全团队AI组 更容易地将LLM与其他计算资源或知识源(如数据库、API、文档库)结合起来,构建更强大、更具上下文感知能力的应用,例如聊天机器人、问答系统、内容摘要工具和复杂的智能代理(Agents)。LangChain的关键特性包括: ○标准化接口:为不同的LLM、嵌入模型和向量数据库提供统一的调用方式,方便切换和实验。 ○模块化组件:提供一系列预置组件,如文档