网络安全研究人员公开披露了影响Docker Desktop和Docker命令行界面中内置AI助手Ask Gordon的一个已修补的安全漏洞详情,该漏洞可被利用执行代码并窃取敏感数据。
网络安全公司Noma Labs将这一关键漏洞命名为DockerDash,Docker在2025年11月发布的4.50.0版本中解决了这一问题。
Noma公司安全研究主管Sasi Levi在发给《黑客新闻》的报告中表示:"在DockerDash中,Docker镜像中的单个恶意元数据标签可以通过简单的三阶段攻击破坏Docker环境:Gordon AI读取并解释恶意指令,将其转发给MCP网关,后者通过MCP工具执行该指令。每个阶段都在零验证的情况下进行,利用了当前智能体和MCP网关架构的缺陷。"
成功利用此漏洞可能导致云和命令行系统的关键级远程代码执行,或桌面应用的高影响数据泄露。
问题源于AI助手将未验证的元数据视为可执行命令,允许其在没有任何验证的情况下跨不同层传播,使攻击者能够绕过安全边界。这个问题被称为元上下文注入。
MCP作为大语言模型与本地环境之间的连接组织,该问题是上下文信任失败的表现。Levi指出:"MCP网关无法区分信息性元数据(如标准Docker标签)和预授权的可运行内部指令。通过在这些元数据字段中嵌入恶意指令,攻击者可以劫持AI的推理过程。"
在假设的攻击场景中,威胁行为者可以利用Ask Gordon解析容器元数据时的关键信任边界违规。攻击者首先在Dockerfile标签字段中嵌入恶意指令来制作恶意Docker镜像。虽然元数据字段看似无害,但当由Ask Gordon AI处理时,它们成为注入向量。完整的代码执行攻击链如下:
攻击者发布包含在Dockerfile中武器化标签指令的Docker镜像。受害者向Ask Gordon AI查询该镜像时,Gordon读取镜像元数据(包括所有标签字段),利用Ask Gordon无法区分合法元数据描述和嵌入式恶意指令的缺陷。Ask Gordon将解析的指令转发给MCP网关(这是位于AI智能体和MCP服务器之间的中间件层)。MCP网关将其解释为来自可信源的标准请求,并调用指定的MCP工具而无需任何额外验证。MCP工具以受害者的Docker权限执行命令,实现代码执行。
数据泄露漏洞利用相同的提示注入缺陷,但针对Ask Gordon的Docker Desktop实现,通过利用助手的只读权限使用MCP工具来捕获关于受害者环境的敏感内部数据。收集到的信息可能包括已安装工具的详情、容器详情、Docker配置、挂载目录和网络拓扑。
值得注意的是,Ask Gordon版本4.50.0还解决了由Pillar Security发现的另一个提示注入漏洞,该漏洞可能允许攻击者通过篡改Docker Hub存储库元数据中的恶意指令来劫持助手并泄露敏感数据。
Levi表示:"DockerDash漏洞强调了将AI供应链风险视为当前核心威胁的必要性。它证明了可信输入源可以被用来隐藏易于操纵AI执行路径的恶意负载。缓解这类新型攻击需要对提供给AI模型的所有上下文数据实施零信任验证。"
Q&A
Q1:什么是DockerDash漏洞?它有什么危害?
A:DockerDash是影响Docker中Ask Gordon AI助手的关键安全漏洞。攻击者可以通过在Docker镜像元数据标签中嵌入恶意指令,导致远程代码执行或敏感数据泄露。该漏洞已在Docker 4.50.0版本中修补。
Q2:攻击者如何利用DockerDash漏洞进行攻击?
A:攻击者首先创建包含恶意标签的Docker镜像并发布,当用户向Ask Gordon查询该镜像时,AI会读取元数据并转发给MCP网关执行,由于缺乏验证,恶意指令会以用户权限执行,实现代码执行或数据泄露。
Q3:如何防护DockerDash漏洞的攻击?
A:应立即升级到Docker 4.50.0及以上版本。根据安全专家建议,需要对所有提供给AI模型的上下文数据实施零信任验证,防止恶意元数据成为注入向量。
热门跟贴