
今天,我们发布第二个开源AI安全审计项目:针对开源检索增强生成(RAG)应用的安全漏洞分析,这些漏洞可能导致聊天机器人输出投毒、文档摄取不准确及潜在拒绝服务。本次审计延续了我们早前在流行计算机视觉框架YOLOv7中发现11个安全漏洞的工作。
具体而言,我们在Ask Astro中发现四个问题。该应用是基于风投公司A16Z的RAG参考架构构建的开源聊天机器人。RAG是通过上下文知识库为大型语言模型(LLM)增强训练数据集外信息的最有效技术之一。
审计发现可分为两大类:
Ask Astro是为Apache Airflow编排工具Astronomer提供技术支持的开源聊天机器人。其采用现代ML开发栈构建,包含三大核心组件:
应用攻击面相对狭窄,包含两个主要工作流(图1):
严重性:高
攻击者可在摄取运行前在社区论坛发布完整讨论线程,摄取完成后立即删除线程。由于缺乏源材料删除同步机制,攻击者可向知识库注入任意文本。
严重性:低
文档摄取例程在处理GitHub问题时存在两个漏洞:
re.DOTALL标志)过度匹配文本 """
DATE: {date}
BY: {user}
STATE: {state}
{body}
{comments}"""
)严重性:中
Weaviate Python客户端v3版本的_sanitize_str函数存在转义漏洞:
value = re.sub(r'(?<!\\)"', '\\"', value)该正则表达式无法正确处理连续反斜杠情况(如\\"),导致GraphQL查询注入。
严重性:低
攻击者可通过提示词注入技术使模型生成超过两个重述问题,导致资源过度消耗或财务拒绝服务。
本次审计揭示了ML系统安全的关键原则:
审计发现已通过相应PR修复(#325, #1134),完整技术细节欢迎联系我们的安全工程团队。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。