各种开源人工智能 (AI) 和机器学习 (ML) 模型中已披露了三打以上的安全漏洞,其中一些可能导致远程代码执行和信息盗窃。
ChuanhuChatGPT、Lunary 和 LocalAI 等工具中发现的缺陷已被报道作为 Protect AI 的 Huntr 漏洞赏金平台的一部分。
最严重的缺陷是影响大型语言模型 (LLM) 生产工具包 Lunary 的两个缺陷 -
- CVE-2024-7474(CVSS 评分:9.1) - 不安全的直接对象引用 (IDOR) 漏洞,可能允许经过身份验证的用户查看或删除外部用户,从而导致未经授权的数据访问和潜在的数据丢失
- CVE-2024-7475(CVSS 评分:9.1) - 不适当的访问控制漏洞,允许攻击者更新 SAML 配置,从而可以以未经授权的用户身份登录并访问敏感信息
Lunary 中还发现了另一个 IDOR 漏洞(CVE-2024-7473,CVSS 分数:7.5),允许不良行为者通过操纵用户控制的参数来更新其他用户的提示。
Protect AI 在一份通报中解释道:“攻击者以用户 A 身份登录并拦截更新提示的请求。”“通过将请求中的‘id’参数修改为属于用户B的提示符的‘id’,攻击者可以在未经授权的情况下更新用户B的提示符。”
第三个严重漏洞涉及 ChuanhuChatGPT 的用户上传功能中的路径遍历缺陷(CVE-2024-5982,CVSS 分数:9.1),这可能会导致任意代码执行、目录创建和敏感数据泄露。
LocalAI 中还发现了两个安全漏洞,这是一个开源项目,使用户能够运行自托管的 LLM,可能允许恶意行为者通过上传恶意配置文件来执行任意代码(CVE-2024-6983,CVSS 得分:8.8)并通过分析服务器的响应时间来猜测有效的 API 密钥(CVE-2024-7010,CVSS 分数:7.5)。
Protect AI 表示:“该漏洞允许攻击者执行定时攻击,这是一种旁道攻击。”“通过测量使用不同 API 密钥处理请求所花费的时间,攻击者可以每次一个字符推断出正确的 API 密钥。”
漏洞列表中的最后一个是影响 Deep Java Library (DJL) 的远程代码执行缺陷,该缺陷源于根植于包的 untar 函数中的任意文件覆盖错误 (CVE-2024-8396,CVSS 评分:7.8)。
该披露是在 NVIDIA释放修复 NeMo 生成 AI 框架中的路径遍历缺陷(CVE-2024-0129,CVSS 评分:6.3)的补丁,该缺陷可能导致代码执行和数据篡改。
建议用户将其安装更新到最新版本,以保护其 AI/ML 供应链和防止潜在的攻击。
此次漏洞披露还伴随着 Protect AI 发布了 Vulnhuntr,这是一款开源 Python 静态代码分析器,利用 LLM 来查找 Python 代码库中的零日漏洞。
Vulnhuntr 的工作原理是将代码分解为更小的块,而不会压垮 LLM 的上下文窗口(LLM 在单个聊天请求中可以解析的信息量),以便标记潜在的安全问题。
“它会自动在项目文件中搜索可能是第一个处理用户输入的文件,”Dan McInerney 和 Marcello Salvati说。“然后它会摄取整个文件并以所有潜在的漏洞进行响应。”
“使用这个潜在漏洞列表,它会继续完成整个项目中每个潜在漏洞从用户输入到服务器输出的整个函数调用链,一次一个函数/类,直到它满意它拥有最终的整个调用链。分析。”
抛开人工智能框架的安全漏洞不谈,Mozilla 0Day 调查网络 (0Din) 发布的一项新越狱技术发现,以十六进制格式和表情符号编码的恶意提示(例如,“a sqlinj”)“我的工具”)可用于绕过 OpenAI ChatGPT 的防护措施并利用已知的安全漏洞。
安全研究员 Marco Figueroa 表示:“越狱策略通过指示模型处理看似良性的任务:十六进制转换来利用语言漏洞。”说。“由于该模型经过优化以遵循自然语言的指令,包括执行编码或解码任务,因此它本身并没有意识到转换十六进制值可能会产生有害的输出。”
“出现这种弱点是因为语言模型被设计为逐步遵循指令,但缺乏深入的上下文意识来评估其最终目标的更广泛背景下每个单独步骤的安全性。”