AI与云安全事件案例分析周报|2026.10.26 - 2026.10.30
原创 星云实验室 2026-10-30 18:31 北京


扩展市场与模型仓库成为投毒入口,边界设备和构建平台的底层依赖持续承压。
事件一 Cursor 市场的 Claude Code 扩展被植入 SSH 后门:正常加载即写入攻击者公钥
涉及组织与应用:Cursor 是集成 AI 编程功能的开发环境并运营扩展市场,Anthropic 开发 Claude Code,OpenSourceMalware 分析了被篡改的扩展包;本次已确认的分发范围是 Cursor 扩展市场。
事件概述:研究者与 Cursor 披露,身份未归属的攻击者把恶意代码植入 Cursor 市场的 Claude Code 2.1.313 扩展。加载扩展时,代码先于正常功能运行,写入远程登录公钥、建立启动任务,并尝试打开远程连接通道。多数非管理员环境无法完成关键连接步骤,但仍可能留下公钥和持久化、发送主机信息。Cursor 已下架恶意版本并处置攻击服务器;研究方纠正早期报道,目前没有证据表明 Open VSX、微软官方扩展或 Claude Code 的 npm 包遭同样投毒。
事件时间:Cursor 公告日期为 2026-10-29;恶意分发窗口约为当日 02:27—13:35 PT,按当地夏令时换算为北京时间 10-29 17:27—10-30 04:35。OpenSourceMalware 于 10-30 发布分析并更新分发范围。
事件链接:
影响范围:
已确认对象为 Cursor 扩展市场中的 anthropic.claude-code@2.1.313;不能仅凭包名把其他市场和 npm 分发一并列为受影响。
Cursor 给出的受影响用户上限为 5,000,不代表有同等数量的主机已成功建立远程会话。
初始信标包含主机、用户及匹配条件的环境变量名称,未直接包含这些环境变量的值;后续是否访问凭据应按主机证据判断。
技术分类归属:Agent层 / 开发工具供应链 / 扩展运行时 / 主机身份与持久化
事件标签:AI相关

图1:OpenSourceMalware 的样本流程图展示扩展加载后的 SSH、公钥、LaunchAgent 与主机信息回传路径;虚线平台分支不等于该样本已执行全部平台代码。图中的连接能力受主机权限和载荷错误限制,不能证明每个安装者均被成功登录,也不证明其他扩展市场遭投毒。来源:https://opensourcemalware.com/blog/trojanized-claude-code-extension-plants-persistent-ssh-backdoor
架构形态:编辑器扩展可随启动加载,并以开发者账户访问本机文件与进程。开发者不必发起 Claude 对话,恶意初始化逻辑即可执行。
攻击路径:市场分发被改写的扩展包 → JavaScript 前置加载器运行 → 写入 SSH 公钥 → 尝试启用远程登录和反向隧道 → 平台对应的持久化 → 主机信息信标。SSH 是远程登录协议,反向隧道则让主机主动连出后形成回连路径。
事实纠正:媒体初稿把多个扩展市场并列;原始研究随后确认 Cursor 市场是恶意包来源。公开材料尚未解释发布权限如何失守,不能认定 Anthropic 源码仓库或其全部发布渠道被攻破。
处置边界:Cursor 表示已重建市场、轮换密钥并与托管商关闭攻击服务器;这是公告中的处置状态,不等于所有曾安装的主机都已清理。
以下为基于扩展执行机制与已公开载荷的防御分析,初始市场入侵根因仍待披露。
基础设施与云配置错误:最初突破的是扩展分发信任,而不是已证实的云租户隔离缺陷;后门尝试的成功程度取决于主机权限、SSH 服务状态和载荷错误等条件。
AI 供应链与存储缺陷:熟悉的发布者标识、扩展名称及正常主体代码,不能证明当前渠道的完整产物可信;验证应绑定市场来源、平台包摘要和实际入口文件。
前沿算法/工程逻辑缺陷:恶意逻辑位于正常初始化之前,用户尚未开始 AI 任务便可能触发;只审核提示词和模型工具调用无法覆盖扩展宿主的启动代码。
复合依赖与应急响应缺陷:写入的公钥与后台脚本独立于扩展继续存在。下架、升级或卸载扩展,不能替代本机持久化清理和秘密访问调查。
边界防御与分层隔离缺陷:普通用户权限阻止了部分服务启用步骤,但未阻止所有文件写入和信息采集;权限边界降低部分后果,不足以据此判定无需排查。
System Intrusion(系统入侵)中的软件供应链路径:已确认恶意产物与主机持久化能力;没有公开证据证明全部受影响安装均已被攻击者成功登录。
下表描述样本能力及厂商确认的动作;每一步是否在具体主机成功仍须取证。

按安装来源、窗口、平台包摘要及入口文件内容排查,不能把其他渠道的同名版本自动算作命中,也不能只检查当前已升级版本。
对有执行或持久化证据的主机先隔离并留存日志,检查公钥、后台脚本、启动任务和隧道进程,再按厂商指南清理并评估重建。
从可信环境轮换受影响主机可访问的凭据和会话;初始信标没有密钥值,不能排除成功远程访问之后的读取。
事件二 Hugging Face 假模型通过远程代码授权挖矿:权重尚未加载,GPU 主机已开始执行
涉及组织与应用:Pluto Security 调查了恶意仓库,Hugging Face 与 ModelScope 提供模型托管分发,Xinference、GPUStack 等自托管推理平台则是恶意代码瞄准的运行环境。
事件概述:Pluto Security 披露,身份未公开的操作者把挖矿程序和后门包装成小型 Qwen2 测试模型。使用者一旦允许模型仓库附带的远程 Python 代码运行,这些代码便会在加载权重之前,以推理服务的账户权限执行。首轮仓库下架后,操作者换账号重新上传,并增加反向连接等访问能力。研究记录了矿池收益与运行中的矿工,但模型下载数量并不能代表感染人数。本案利用的是自定义代码执行授权,不是证明 Qwen 模型本身恶意,也不是安全权重格式被破解。
事件时间:活动始于 2026-09;10-29 公开报告,下载统计截至 10-28。本期按首次公开的完整调查纳入。
事件链接:
影响范围:
研究确认的两轮活动共 31 个仓库,另有技术关联模型;包含关联模型的下载量超过 32,000,不是确认感染或独立受害者数量。
影响允许执行仓库代码的 GPU 主机、推理实例与相关作业;报告中的容器越界脚本依赖特权容器等条件,不构成普通容器均可逃逸的证据。
技术分类归属:AI供应链 / 模型加载 / 基础设施层 / GPU计算资源
事件标签:云AI融合

图2:Pluto 的加载流程图显示,启用远程代码授权后,自定义 Python 在权重读取之前执行,权限来自调用者。它解释本次恶意代码的入口,不代表所有模型默认执行远程代码,也不证明图中列出的每一种权重格式都参与本次攻击。来源:https://pluto.security/blog/hugging-face-malware-campaign-load-mine/
攻击路径:伪装测试模型 → config.json 的 auto_map 指向附带模块 → 用户或平台启用 trust_remote_code=True → Python 导入时执行顶层逻辑 → 启动挖矿并部署后门。
与历史事件的关系:本案是第三方恶意仓库分发活动,与 W30—W35 涉及评测 Agent 访问 Hugging Face 基础设施的事件不同,不能因为平台相同就合并归因。
处置边界:删除远程仓库不会删除已下载模块、主机进程或后门;报告中的 live 状态是调查快照,本期没有访问恶意仓库或执行模型复测。
以下为基于公开链路的防御分析。
基础设施与云配置错误:推理进程可用的 GPU、文件和网络权限同时授予仓库代码;若使用特权容器、挂载宿主磁盘,后果可能从作业扩大到主机。
AI 供应链与存储缺陷:仅检查权重格式或已知恶意签名,不能覆盖旁置 Python 的实际行为;安全权重与安全加载过程应分别验证。
前沿算法/工程逻辑缺陷:自定义实现是合法扩展机制,但导入即执行使“先试一下小模型”本身成为执行动作,模型大小不能证明代码安全。
复合依赖与应急响应缺陷:换账号和镜像重传使按仓库名封禁容易失效;调查应串联代码摘要、矿池身份、进程及外联,不能只查首轮名单。
边界防御与分层隔离缺陷:容器并非无条件的主机隔离保证,主机设备、磁盘、管理接口与元数据权限需要独立限制。
System Intrusion(系统入侵):恶意模型分发引入代码执行、算力滥用和后门;确认存在活跃矿工,不据此推算全部下载的失陷率。

默认关闭远程模型代码;确需启用时审核完整模块与依赖、固定可信提交,并在无生产秘密的隔离实例验证。
模型审批同时包含权重、配置、Python 文件及外部下载;监测推理进程派生 shell、矿池连接和异常 GPU 消耗。
曾加载恶意仓库的环境按主机可达资产调查,清理缓存与后门并轮换秘密;只终止矿工不足以清除访问能力。
事件三 PHP2Shell 串联 Fragnesia 攻入 PAN-OS:管理面执行进一步触达内部身份系统
涉及组织与应用:Dream 是攻击调查披露方,Palo Alto Networks 的 PAN-OS 为企业防火墙及管理设备提供系统软件,Active Directory 管理内部用户与权限,CISA 的 KEV 目录记录已知遭实际利用的漏洞。
事件概述:Dream 在攻击者留下的材料中发现一条针对防火墙管理面的利用链,操作者身份尚未确认。攻击先利用 PHP2Shell 在设备的网页管理服务中执行代码,再利用名为 Fragnesia 的 Linux 内核缺陷取得最高权限,之后通过隧道进入内部网络并针对企业身份系统行动。厂商确认公网管理面出现实际利用。与上周以底层 PHP 缺陷和利用尝试为主的披露相比,本周新增了具体设备、提权链与后续访问证据;AI 参与开发仍属研究方评估,不能写成已证实的全自主攻击。
事件时间:Dream 10-25 发现材料,10-26 发文、10-29 更新厂商确认;材料中的主要利用发生于 10-23—24。PHP 两个 CVE 于 10-26、Fragnesia 于 10-28 进入 KEV。
事件链接:
影响范围:
PHP2Shell 为 CVE-2026-109618、CVE-2026-109619,提权漏洞为 CVE-2026-46300;PAN-OS/Panorama 的受影响分支与修复包按厂商公告逐项匹配。
Dream 据攻击材料报告 25 台已取得 root 的设备,其中 3 台位于美国政府关联环境;这是调查样本范围,不是全球受害总数。
身份系统凭据提取和目录枚举有材料支持;后续密码喷洒、创建账户的尝试不等于均已成功。
技术分类归属:基础设施层 / 边界管理面 / 云与企业身份 / AI辅助攻击
事件标签:云AI融合

图3:Dream 原始时间线把准备、批量利用、进入内网与后续操作分开,并展示目标从扫描列表收敛到 25 台设备的调查过程。它是研究方依据攻击材料重建的时间线,不代表全球受害总数;图中列出的 AD 喷洒、后门等后续任务,不能一律视为已成功完成。来源:https://dreamgroup.com/blog/chained-php2shell-exploit-roots-25-servers
前周事件增量更新:W43 事件一介绍 PHP 跨请求状态与内存生命周期缺陷。本周转向针对 PAN-OS 特定构建的武器化、内核提权和内部横向访问,不重复上周通用网站利用分析。
攻击路径:公网管理接口 → 定制 PHP 内存利用 → 低权限代码执行 → 内核提权 → Web shell → 反向 SSH 隧道 → 内部身份系统访问。
互补证据:Wiz 在其观测范围没有看到成功尝试,与 Dream 的定向成功样本不矛盾;两者覆盖的构建、资产和观测条件不同,不能互相否定。
基础设施与云配置错误:管理面暴露使运行时缺陷成为入口;厂商区分管理服务与一般数据转发面,不能笼统写成所有流经防火墙的流量均可触发。
AI 供应链与存储缺陷:设备嵌入的 PHP 和内核需要厂商整体交付修复,不能套用服务器上的 PHP 更新命令自行替换设备组件。
前沿算法/工程逻辑缺陷:运行时异常状态先突破进程边界,内核缺陷再突破操作系统权限边界;修复后应验证对应环节是否已被切断。
复合依赖与应急响应缺陷:已取得 root 的设备可能留下 Web shell、隧道及被读出的目录凭据;升级解决漏洞,不能自动撤销既有访问。
边界防御与分层隔离缺陷:边界设备对内部目录的可达性决定进一步影响。AI 工具安装痕迹与脚本风格,不足以证明 AI 编写了特定利用代码或无人自主执行。
System Intrusion(系统入侵):外部服务漏洞与本地提权串联,继而访问内部身份基础设施;归因和后续损失范围仍需独立证据。

限制管理面仅对可信路径开放,按具体分支核对可下载修复包;公告预计日期不能当作补丁已发布。
保留设备与身份日志,回溯异常管理请求、Web shell、提权与隧道;确认失陷设备按厂商恢复流程处理,同时撤销相关身份凭据。
KEV 官方数据已核对:PHP 两项修复期限为 10-29,Fragnesia 为 10-31;这些是目录中适用美国联邦机构的期限,不代替其他组织的风险判断。
事件四 Alpine 升级 GitLab 后仍暴露 Ruby 缺陷:自建镜像漏掉补丁,供应链核验转向独立记录
涉及组织与应用:Alpine Linux 是常用于容器基础镜像的 Linux 发行版,其 GitLab 托管软件包构建配方;GitLab 调用 Ruby 处理流水线配置,漏洞位于 Ruby 内置的 Onigmo 正则表达式引擎。
事件概述:Alpine 披露,一个新注册账户尝试利用 GitLab 处理流水线配置的漏洞,造成多个工作进程崩溃。攻击者身份未归属。团队随后发现,即使把 GitLab 升到标称修复版本,自建容器使用的标准 Ruby 仍未获得补丁,因为 GitLab 的修复随其官方软件包中的 Ruby 分发。Alpine 没有发现成功执行攻击代码的证据,但部分关键日志已缺失,无法排除,因此重建服务并重置密码。项目通过独立代码副本和构建记录核验了已披露范围内的发行产物,未发现篡改。
事件时间:主要尝试发生于 2026-10-20—21;10-26 发现升级未消除漏洞,10-27 关闭服务并重建,10-28 公告;CISA 于 10-29 将该漏洞列入 KEV,本轮补充利用状态更新。
事件链接:
影响范围:
CVE-2026-97229;自建 GitLab 使用的 Ruby 也需更新到 3.3.13、3.4.12、4.0.9 或相应安全后续版本,不能只检查 GitLab 版本。
alpinelinux/gitlab:19.3.6 在 10-27 前获取的镜像仍有漏洞,应重新拉取修复产物并验证摘要和 Ruby 版本。
若成功入侵,账户资料、流水线变量与 runner 令牌等可能暴露,这不是确认泄露清单;包及发行签名密钥从未存放在该 GitLab 上。
技术分类归属:云原生供应链 / CI/CD / 基础镜像 / 依赖补丁交付
事件标签:云

图4:Rapid7 的实验流程图展示 CI 配置、UTF-8 仓库路径和 Ruby/Onigmo 重编译如何串成以 git 用户执行命令的链路。图示依赖研究环境中可预先写入恶意配置等条件;它不是 Alpine 的现场取证图,不能证明 Alpine 攻击成功,也不表示取得 root 权限。来源:https://www.rapid7.com/blog/post/ra-gitlab-ci-cd-regex-integer-overflow-technical-analysis-cve-2026-97229/
攻击路径:账户提交特制 CI 配置 → GitLab 编译不可信正则 → Ruby 引擎内存缺陷 → 部分利用步骤触发并崩溃;证据未闭合到成功代码执行。
补丁路径错位:第一次升级曾选错 GitLab 版本;后续升级又因自建镜像另装 Ruby,绕过了官方包携带的修复,应用与依赖两次检查分别失败。
核验范围:项目借助开发者副本与 45 台构建机独立记录,核对相关提交和 10-24 前构建产物;公告称正将核验扩展至 10-27,不能写成整个暴露窗口均已排除篡改。
本轮利用状态更新:CISA 官方目录将 CVE-2026-97229 的收录日期列为 10-29、适用联邦机构处置期限列为 11-01,并要求取证分诊。目录确认该漏洞存在实际利用,不证明 Alpine 本案已成功执行代码,也不能替代其发行产物核验。
基础设施与云配置错误:升级记录未反映实际软件组成;同名同版本应用在官方包与自建镜像中,可能对应不同依赖与补丁状态。
AI 供应链与存储缺陷:构建配方仓库是下游容器和软件包的上游资产;签名密钥独立存放缩小暴露面,但仍需核验构建输入。
前沿算法/工程逻辑缺陷:业务把攻击者提供的表达式交给本地引擎编译;Ruby 官方说明相关风险是内存缺陷,不能用正则超时配置代替修复。
复合依赖与应急响应缺陷:旧容器文件系统、后台任务与出站日志缺失,使“没有找到证据”无法上升为“确认未成功”;重建消除潜在驻留,历史调查仍有边界。
边界防御与分层隔离缺陷:代码托管、CI 秘密和发布签名分开控制,有助于限制影响;独立核验记录必须不受同一管理面控制。
System Intrusion(系统入侵)尝试,实际成功与数据泄露未确认:按可能失陷实施恢复,不把预防性处置写成已确认供应链投毒。

不为凑足映射而补写凭据窃取、持久化或产物投毒,这些行为尚无本案证据支持。
核对实际 Ruby、GitLab 和镜像摘要;重新部署后验证运行组件,不以镜像标签或升级工单作为完成证据。
在独立系统保留入口与后台作业日志、容器文件系统及出站连接,区分失败利用与无崩溃的成功路径。
对可能失陷的代码托管系统评估 CI 变量、runner 与集成令牌的撤销范围;用独立提交和构建记录核验产物,不能仅重置密码。
内容编辑:浦明
责任编辑:吕治政
本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。
关于我们
绿盟科技研究通讯由绿盟科技创新研究院负责运营,绿盟科技创新研究院是绿盟科技的前沿技术研究部门,包括星云实验室、天枢实验室和孵化中心。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。
绿盟科技创新研究院作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。
我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。
本文转载自微信公众号「绿盟科技研究通讯」,查看原文。版权归原作者所有,如有侵权请联系删除。