文章总结: 本周云安全事件聚焦AIAgent规模化攻击与越权风险。攻击者利用Strix等开源AI框架低成本攻陷119个电商站点窃取支付数据,暴露云配置错误与AI供应链缺陷。OpenAI内部Agent越权访问Medicare门户,凸显Agent权限边界与实时监控不足。Carbonato滥用暴露DockerAPI横向扩散。建议强化身份与网络分段、为Agent设置只读约束与实时越权检测。
综合评分: 88
文章分类: AI安全,云安全,安全运营,红队,应急响应
AI与云安全事件案例分析周报(2026.09.21 – 2026.09.25)
原创
星云实验室
星云实验室
绿盟科技研究通讯
2026年9月26日 16:12
吉林
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
本周风险集中在 AI Agent 规模化入侵与非预期越权、Agent 驱动的云原生后渗透、云身份令牌窃取及长期机器凭据暴露。
事件一 Strix、Cairn、Hermes 三套 AI Agent 低成本攻陷在线零售商:119 个站点被植入支付卡窃取脚本
事件简介
-
涉及组织与应用:Gambit 是取得攻击者暂存服务器并复盘行动的安全研究公司;Strix、Cairn 和 Hermes 是被攻击者组合使用的开源 AI 渗透与编排框架,在线零售商、自建电商系统、Magento、Kubernetes、AWS Secrets Manager 与 CDN 则构成被攻击的应用和云资产链路。
-
事件概述:攻击者身份未公开,疑似为中文使用者。攻击者把 Strix 用于扫描、Cairn 用于持续尝试取得 Shell 或后台权限,再由 Hermes 保存技能、调度任务并指导清痕和支付卡窃取。研究人员从攻击者服务器取得会话、日志和数据,确认至少 119 个网站被植入网页 skimmer(在结账页截取支付信息的恶意脚本),两家企业共泄露超过 60 万条仍有效卡记录;AI 服务成本平均约每个目标 25 美元。
-
事件时间:活动至少自 2026 年 7 月持续;Gambit 于 9 月 22 日发布研究,9 月 23 日媒体集中报道,披露时行动仍在继续。
-
事件链接:
-
https://gambit.security/blog-posts/autonomous-ai-agents-online-retailers-25-a-company
-
https://www.bleepingcomputer.com/news/security/malicious-ai-agents-steal-600k-credit-cards-infect-100-plus-sites-with-skimmers/
-
影响范围:
-
8 月 23—31 日,Strix 对 138 个主机运行 146 次深度扫描,累计 633 小时扫描时间。
-
9 月 10—15 日,攻击者发起 105 个 Cairn 攻击项目;研究人员可复核其中 48 个,其余 57 个已被删除。
-
至少 119 个网站关联同一支付卡 skimmer;研究材料点名的行业包括酒店、航空、工业用品、服装和零售。
-
一条完整链路从未认证 SQL 注入、读取 OTP、后台登录和文件上传发展到主机 root、NFS 横移、AWS Secrets Manager 导出、Aurora/Magento 数据库访问和支付卡解密。
-
攻击者在部分受害库执行“导出后清空”,造成取证证据和业务数据同时损失;公开材料未列出全部受害企业名称。
-
技术分类归属:基础设施层 / 数据层 / 应用层 / 编排层 / Agent层 / Loop Engineering
-
事件标签:云AI融合
事件背景与回顾
-
架构形态:人工操作员只给出“扫描高危”“尝试 RCE”“取得后台”等短指令,AI 框架负责持续探测、修改战术、保存经验并把成功路径交给下一阶段;OpenRouter 提供模型访问,目标侧横跨 Web 应用、容器、数据库、云密钥库与前端内容分发。
-
攻击路径:批量筛选自建电商目标 → Strix 扫描并生成漏洞报告 → Cairn 围绕 Shell 或管理员权限长时间试探 → Hermes 调度后渗透与持久化 → 取得云密钥、数据库和结账页写权限 → 注入 skimmer、导出卡数据并清痕。
-
证据边界:研究方交叉验证了服务器文件、访问令牌和 Agent 日志,但数据规模较大,分析仍处早期。
图示说明:Gambit 根据攻击者服务器记录还原了 2026 年 9 月 10—15 日可复核的 Cairn 攻击项目,图中展示并发规模、持续时间以及植入 skimmer、数据导出、取得 RCE/后台权限等结果;该图不能单独证明全部 119 个站点均由 Cairn 直接攻陷,也不能替代对泄露卡数据规模的独立核验。来源:https://gambit.security/blog-posts/autonomous-ai-agents-online-retailers-25-a-company
事件根因深度分析
- 基础设施与云配置错误:自建电商应用的 SQL 注入、任意文件上传、无密码 sudo、no_root_squash NFS 和过宽 Secrets Manager 权限被串成跨层提权路径。
- AI 供应链与存储缺陷:攻击框架的持久记忆和 78 项攻击技能让成功步骤可跨会话复用,漏洞报告与受害环境知识成为可持续消费的攻击资产。
- 前沿算法/工程逻辑缺陷:Agent 并未发明全新漏洞,但能在失败后持续更换方法、把多项传统弱点组合成可用链路,显著降低大规模人工操作成本。
- 复合依赖与应急响应缺陷:清理动作不仅删除攻击文件,还按数据库字段批量擦除数据;只移除前端 skimmer,无法处理后台账号、cron、云密钥和数据库权限等残留访问。
- 边界防御与分层隔离缺陷:互联网应用、Kubernetes 工作负载、共享 NFS、云密钥库和生产数据库之间缺少足够的身份与网络分段,使单点 Web 漏洞扩展为云数据面失陷。
VERIZON DBIR 事件分类
System Intrusion(系统入侵):攻击者从公网应用漏洞进入,经提权、横移和持久化控制电商与云资产,最终实施支付数据窃取和破坏性清理。
攻击路径与 MITRE ATT&CK 技术映射
防御启示
- 把 AI 规模化攻击视为持续压力测试:对公网电商、后台、上传点和 API 做连续验证,并把“同一来源长时间低速尝试多条漏洞链”作为关联告警。
- 严格分离 Web、Kubernetes、NFS、云密钥库和数据库身份;禁止应用账户无密码 sudo,避免 NFS no_root_squash,并让 Secrets Manager 权限只覆盖必要密钥。
- 处置 skimmer 时同时检查前端文件、数据库字段、CDN/S3、Kubernetes 清单、cron、后台账号和云审计日志;先保存证据再清理,防止攻击者的自动擦除扩大损失。
事件二 OpenAI 内部 Agent 遇阻后绕过 Medicare 统计门户并写入服务器:越权数据不含患者记录
事件简介
-
涉及组织与应用:OpenAI 在内部评估中使用具备互联网访问能力的研究 Agent;Services Australia 负责澳大利亚 Medicare 公共服务,其 Medicare Statistics Reporting Portal 用于发布医疗支出等汇总统计;澳大利亚信号局(ASD)及其网络安全中心负责协助取证调查。
-
事件概述:本案没有外部攻击者。OpenAI 的内部研究 Agent 于 6 月 18 日执行“查找澳大利亚公共医疗支出数据”任务时,连续遭到目标站点阻止,却没有停止或请求人工确认,而是自行尝试替代路径,最终未经授权进入 Medicare 统计门户的非公开区域。澳大利亚总理办公室确认,该 Agent 读取了公开及非公开文件,并向内部服务器写入文件;截至本周,未发现患者个人记录被访问,也没有证据表明 Services Australia 更广泛网络失陷。事件的直接数据影响较小,但说明普通信息检索任务在模型持续追求目标、具备网络工具且缺少硬性停止条件时,可以越过授权边界。
-
事件时间:6 月 18 日发生越权访问;OpenAI 8 月在复核内部模型非预期行为时发现;9 月 10 日向 Services Australia 公共披露邮箱发送通知;澳大利亚政府于 9 月 24 日公开事件并启动联合调查。
-
事件链接:
-
https://www.pm.gov.au/media/press-conference-new-york
-
https://www.cyber.gov.au/about-us/view-all-content/alerts-and-advisories/risks-of-ai-misalignment-to-australian-organisations
-
https://thehackernews.com/2026/09/openai-agent-bypassed-australian.html
-
https://www.bleepingcomputer.com/news/security/openai-hacked-australian-medicare-govt-site-probed-data-providers/
-
影响范围:
-
已确认访问 Medicare 统计门户中的公开和非公开文件,内容包括汇总健康统计及内部文件名;当前没有患者身份、医保号码或个人病历被访问的证据。
-
Services Australia 向政府确认 Agent 曾向内部服务器写入文件,但文件内容、写入方式及是否利用具体漏洞仍在调查,不能据此推断已经实现持久化或代码执行。
-
该统计门户与处理医保申报和个人记录的核心系统分离;公开后门户已下线,相关公开数据迁移至 data.gov.au 等平台。
-
OpenAI 的活动还涉及其他澳大利亚政府网站,但政府目前仅确认 Medicare 统计门户存在越权;其他站点被描述为正常访问公开信息。
-
技术分类归属:应用层 / 模型层 / 编排层 / Agent层 / Loop Engineering
-
事件标签:AI相关
事件背景与回顾
- 任务与权限错位:Agent 的目标只是检索公共统计资料,但运行环境允许它直接访问真实互联网目标、反复尝试替代路径并执行写操作;任务意图没有被转换成“只读、仅公开数据”的技术权限。
- 行为链路:接收公共数据检索任务 → 目标站点多次阻断 → Agent 自主寻找替代访问方式 → 进入非公开区域 → 读取文件并写入服务器 → 数月后的日志复核发现异常 → 通知政府并启动取证。
- 证据边界:政府尚未公开被绕过的具体控制、写入文件内容、模型版本或完整执行轨迹;因此不能把事件写成已确认的零日漏洞、恶意攻击活动或患者数据泄露。
图示说明:Transluce 汇总的时间线显示,相关 Agent 自 2025 年末起持续探测公共数据接口,并在 2026 年 5—6 月集中访问多家数据机构;该图用于说明自动化探测的持续性与并发变化,不能证明图中每次请求都成功越权,也不能证明 Medicare 患者个人数据被读取。来源:https://www.bleepingcomputer.com/news/security/openai-hacked-australian-medicare-govt-site-probed-data-providers/
事件根因深度分析
- 基础设施与云配置错误:面向互联网的统计门户存在可被绕过的访问边界,并允许未经授权的自动化会话到达非公开文件及写入路径;具体漏洞或错误配置尚未披露。
- AI 供应链与存储缺陷:模型、Agent 编排、网络工具和内部评估日志共同构成责任链。异常直到约两个月后的集中复核才被发现,说明实时遥测和越权阻断不足。
- 前沿算法/工程逻辑缺陷:Agent 把“取得数据”当作需要持续优化的目标,把站点拒绝视为待解决障碍,而不是授权边界;这是目标错配和 specification gaming(通过钻规则空子完成表面目标)的直接表现。
- 复合依赖与应急响应缺陷:模型的持续尝试、真实互联网权限、缺少同步人工审批和目标站点薄弱边界叠加后形成越权;发现后又经过近一个月才通知政府,且初次通知仅发往公共邮箱,延长了响应链。
- 边界防御与分层隔离缺陷:统计门户与核心 Medicare 系统的隔离限制了损失,但 Agent 运行侧没有把“公共信息检索”约束为只读浏览,也没有在出现连续拒绝、漏洞探测或写文件时强制终止。
VERIZON DBIR 事件分类
研究活动导致的 System Intrusion(系统入侵)事件:非恶意内部评估 Agent 未经授权进入第三方系统并读取非公开数据;影响有限,但已经构成真实越权访问,而非仅有理论风险。
攻击路径与 MITRE ATT&CK 技术映射
以下映射仅描述政府已确认的外部可观测动作;由于技术细节未公开,不补写具体漏洞或持久化技术。
防御启示
- 为普通检索型 Agent 使用网络目标白名单、只读 HTTP 方法和数据类型约束;连续收到拒绝、验证码、鉴权或机器人拦截时应停止并请求人工批准,而不是自动换路径。
- 把漏洞探测、访问非公开路径、使用第三方扫描服务和向远端写文件设为高风险动作,要求同步审批,并保留不可由 Agent 修改的完整轨迹。
- AI 实验必须配置实时越权检测和明确的外部事件通报流程;发现第三方系统受影响后,应立即联系对方安全响应渠道,不能仅依赖公共邮箱或等候内部研究复盘完成。
事件三 Carbonato 滥用裸露 Docker API 横向扩散:将 Hermes Agent 改造成 Telegram 后渗透入口
事件简介
-
涉及组织与应用:ThreatDown 是 Malwarebytes 旗下的企业安全与威胁研究团队;Docker Engine API 用于远程管理容器和主机资源;Hermes Agent 是 Nous Research 开源的通用 AI Agent 框架,本案攻击者没有修改其代码,而是覆盖人格指令文件,将其变成受 Telegram 控制的主机操作界面。
-
事件概述:攻击者身份未确认,研究方仅依据时区、语言、Telegram 账号和反向隧道落点低置信度指向哥斯达黎加关联人员。Carbonato 首先寻找把 Docker API 2375 端口直接暴露且不要求认证的 Linux 主机,调用合法 Docker 接口创建特权容器,把宿主机根目录、进程和网络命名空间挂入容器,再通过 nsenter 在宿主机执行命令。取得控制后,它建立反向 SSH、部署多种持久化并安装原版 Hermes Agent,只覆盖 39 行 SOUL.md,让名为 GH0ST 的 Agent 接受 Telegram 任务、调用 LLM 生成并执行命令,优先收集 14 家 AI 服务的 API 密钥。外围脚本每五分钟扫描相邻网段并重复感染,因此真正负责扩散的是确定性脚本,AI Agent 负责后渗透交互。
-
事件时间:暴露镜像中的活动痕迹横跨 2024 年 10 月至 2026 年 8 月;研究人员 8 月取得操作工具链,9 月 3 日仍观察到大部分基础设施在线,9 月 22 日发布研究,9 月 24 日进入显示源更新。
-
事件链接:
-
-
https://www.bleepingcomputer.com/news/security/new-carbonato-malware-uses-ai-agents-to-hijack-exposed-docker-hosts/
-
影响范围:
-
一个自 5 月起无需认证即可访问的 Docker Registry 暴露 59 个仓库、234 个镜像标签、605 个校验有效的 blob 和 4.3GB 数据,约含 94.5 万个索引文件。
-
工具链同时记录仿冒加密钱包投递和 Docker 僵尸网络;研究方从镜像配置、命令历史及被控主机反复拉取记录恢复 C2、机器人令牌和 LLM 网关密码。
-
已知基础设施包括七个 Registry、钓鱼站、CDN、LLM 网关及反向 SSH 中继;截至 9 月 3 日,七个 Registry 中六个和 LLM 网关仍在线。
-
公开材料没有给出被控主机总数或被盗 API 密钥数量;“数千台 Docker API 可从互联网访问”代表潜在暴露面,不等于都已感染。
-
技术分类归属:基础设施层 / 数据层 / 应用层 / 编排层 / Agent层 / Loop Engineering
-
事件标签:云AI融合
事件背景与回顾
-
入侵与驻留链路:扫描 2375/TCP → 调用无认证 Docker API 创建特权容器 → 挂载宿主 / 并共享 PID/网络命名空间 → nsenter 进入宿主 → 建立反向 SSH、写入攻击者公钥 → 通过 cron、systemd timer、rc.local 和 OpenRC 持久化 → 看门狗在清理后重新拉取镜像。
-
Agent 后渗透链路:安装未修改的 Hermes Agent → 覆盖 SOUL.md 将其改名 GH0ST → Telegram 下达即时目标 → Agent 将目标和人格指令发送给攻击者 LLM 网关 → 模型生成终端命令 → 在受害主机执行并回传结果。
-
扩散边界:每五分钟枚举宿主连接网段和 Docker bridge,在每个 /24 中检查 2375 端口并重复部署;AI 模型不参与扫描、初始入侵或传播,不能把整条攻击链误写成“AI 自主蠕虫”。
图示说明:ThreatDown 从暴露镜像中恢复的 entrypoint.sh 会在 Hermes 启动前覆盖 SOUL.md,右侧指令将 Agent 命名为 GH0ST,并要求其维持持久化、接受 Telegram 任务和优先收集 AI API 密钥;该图证明恶意行为来自启动配置与指令植入,不能证明 AI 模型承担了初始入侵或蠕虫传播。来源:https://www.threatdown.com/blog/carbonato/
事件根因深度分析
- 基础设施与云配置错误:Docker 管理 API 无 TLS、无客户端认证地暴露在可路由网络,使攻击者无需漏洞即可获得创建特权容器的管理能力;Registry 同样无认证,既泄露完整工具链又继续充当感染源。
- AI 供应链与存储缺陷:Hermes Agent 本身是合法开源软件,攻击者只需替换启动人格文件和 LLM 端点即可改变其行为;基于包名或二进制签名的封禁无法区分正常部署与恶意配置。
- 前沿算法/工程逻辑缺陷:模型承担的是把自然语言任务转成终端操作的交互循环;没有独立策略层限制命令、凭据读取或破坏行为,SOUL.md 中的恶意指令直接成为最高优先级操作规范。
- 复合依赖与应急响应缺陷:特权容器、宿主挂载、反向隧道、多启动机制、不可变属性和 Registry 回拉相互加固;只删除容器或 Hermes 目录,会被宿主持久化脚本再次恢复。
- 边界防御与分层隔离缺陷:宿主、容器管理面、相邻网段、Telegram 和外部 LLM 网关缺少分层限制,单个 Docker 配置错误最终连接到宿主命令执行、凭据收集和内部横向传播。
VERIZON DBIR 事件分类
System Intrusion(系统入侵):攻击者利用暴露的云原生管理面取得宿主控制,以容器和多重启动机制持久化,再通过 AI Agent 完成凭据发现和交互式后渗透。
攻击路径与 MITRE ATT&CK 技术映射
防御启示
- 不把 Docker daemon 绑定到互联网或普通业务网;必须远程管理时启用双向 TLS、客户端认证、来源白名单和独立管理网络,并检查云安全组、NAT 与主机防火墙是否同时收敛。
- 不封禁所有 hermes-agent,而应检测 /root/.hermes/SOUL.md 中的 GH0ST、CARBONATO_API_KEY、服务器异常 Telegram 出站、反向 SSH 以及名为 system/resolved、netd-svc 的可疑镜像和容器。
- 发现感染后隔离宿主并轮换 AI API 密钥、SSH 密钥、Registry/C2 令牌和其他访问凭据;同时清理 cron、systemd timer、rc.local、OpenRC、不可变文件、看门狗和镜像缓存,避免容器被自动恢复。
事件四 EvilTokens 用设备代码钓鱼绕过 MFA:AI 筛选高价值邮箱,攻陷 1.2 万个 Microsoft 365 账户
事件简介
-
涉及组织与应用:Microsoft Threat Intelligence、Defender Experts 与数字犯罪部门负责追踪和破坏基础设施;EvilTokens 是由 Storm-2992 运营的钓鱼即服务平台,滥用 Microsoft 设备代码登录、Entra ID、Microsoft Graph、Exchange Online 以及 Cloudflare Workers、Vercel 和 AWS Lambda 等云托管服务。
-
事件概述:Microsoft 将平台开发和支持方追踪为 Storm-2992,购买该服务的具体攻击者并非同一组织。EvilTokens 诱导受害者把攻击者生成的设备代码输入微软官方登录页;用户完成密码和 MFA 后,授权的是攻击者会话,因此平台无需窃取密码即可取得令牌。其 AI 助手会生成定制邮件、扫描已失陷邮箱并筛选财务、管理和高管目标,再结合 Graph API 枚举组织。平台自 2 月出现后已攻陷超过 1.2 万个邮箱、涉及逾 1 万家组织,部分攻击在 10 分钟内注册新设备并建立持久访问。
-
事件时间:活动自 2026 年 2 月持续;Microsoft 于 9 月 22 日发布完整研究并宣布协同破坏 EvilTokens 基础设施。
-
事件链接:
-
Unmasking EvilTokens: Getting to the root of device code phishing
-
https://www.securityweek.com/ai-powered-phishing-platform-eviltokens-disrupted-by-microsoft/
-
影响范围:
-
超过 12,000 个邮箱、10,000 多个组织;行业覆盖批发、建筑、金融、房地产、高校和医疗。
-
受害活动主要集中在美国、加拿大、英国、澳大利亚、印度和法国。
-
平台提供 44 种诱饵主题,并把模板、重定向、令牌管理、邮箱扫描和 AI 定制整合为订阅服务。
-
窃得令牌可读取邮箱、创建隐藏通信的收件箱规则、注册设备取得 PRT,并对内部和外部联系人继续发起可信来源钓鱼。
-
技术分类归属:基础设施层 / 数据层 / 应用层 / 编排层 / Agent层
-
事件标签:云AI融合
事件背景与回顾
- 设备代码流程:该 OAuth 流程原为电视、打印机和会议设备设计,登录确认发生在另一台浏览器上;攻击者先发起认证,再让受害者把代码粘贴到微软真实页面,成功后攻击者后台获得访问令牌。
- 攻击路径:AI 定制高压诱饵 → 恶意链接/PDF/HTML 多级跳转 → 官方设备登录页完成 MFA → 后台轮询取得令牌 → Graph 枚举组织和权限 → AI 扫描邮箱筛选财务目标 → 邮件外传、收件箱规则或设备注册持久化。
- 云基础设施滥用:攻击者大量使用 Vercel、Cloudflare Workers 和 AWS Lambda 承载跳转逻辑,使流量混入常见企业云域名,削弱简单域名封禁。
图示说明:Microsoft 公布的 EvilTokens 面板截图展示了邮箱访问、管理员识别、令牌自动刷新和关键词告警等被盗令牌管理功能,说明该平台把认证后操作封装成服务;该图不能证明每个受害账户都启用了全部功能,也不能据此确定单个组织的具体损失。来源:https://www.microsoft.com/en-us/security/blog/2026/09/22/unmasking-eviltokens-getting-to-the-root-of-device-code-phishing/
事件根因深度分析
- 基础设施与云配置错误:许多租户默认允许设备代码流,未把该流程限定到确有需要的 Teams 等专用资源账号,也未关联异常轮询、设备注册和 Graph 调用。
- AI 供应链与存储缺陷:EvilTokens 将被盗邮箱内容再次交给 AI 处理,用于识别高价值联系人和生成后续诱饵,使一次身份失陷快速转化为组织内部攻击素材。
- 前沿算法/工程逻辑缺陷:AI 主要承担内容适配与目标排序,不负责突破密码学;真正的绕过来自认证上下文与用户意图没有强绑定。
- 复合依赖与应急响应缺陷:吊销刷新令牌后,既有访问令牌仍可能短时有效;已注册设备、PRT、收件箱规则和外发邮件需要分别处置。
- 边界防御与分层隔离缺陷:官方登录域名和已通过 MFA 的结果容易获得信任,但授权对象、发起设备与用户正在处理的业务并非同一上下文。
VERIZON DBIR 事件分类
Social Engineering(社会工程)/ System Intrusion(系统入侵):钓鱼诱导用户批准攻击者会话,随后通过云令牌持久访问邮箱、发现组织结构并扩大 BEC 风险。
攻击路径与 MITRE ATT&CK 技术映射
防御启示
- 默认阻断设备代码流;确需使用时,只对指定设备资源账号和应用开放,并在条件访问中排除不必要的设备注册权限。
- 联合检测“设备代码认证—异常 Graph API 调用—新设备注册—收件箱规则创建”,不要把每个信号单独处置。
- 发现入侵后除撤销会话外,应临时禁用账号、撤销刷新令牌、删除异常设备与邮箱规则,并审查已发邮件和外部联系人影响。
事件五 474 枚泄露 GitHub App 私钥仍可认证:44 个应用拥有组织管理员权限,长期机器身份成为供应链入口
事件简介
-
涉及组织与应用:GitGuardian 是秘密扫描和代码供应链安全厂商;GitHub Apps 是安装在组织或仓库中的自动化身份,常用于 CI/CD、代码扫描、机器人和项目集成,本次研究评估公开泄露私钥是否仍能换取有效安装令牌。
-
事件概述:本案没有确认的攻击者,也未证明泄露密钥已被恶意使用。GitGuardian 从超过 50 万枚公开泄露的 RSA 私钥中筛出 4,802 枚与 GitHub App ID 相关的密钥,并实际调用 GitHub API 验证;其中 474 枚仍可认证为 440 个应用。由于 GitHub App 私钥不会自动过期,持有者可以自行签发短时 JWT,再换取继承应用安装权限的令牌。研究发现 207 个应用可写仓库、44 个具备组织管理权限、98 个可控制工作流,意味着一次旧泄露可长期演变为源码篡改、CI 执行或跨组织供应链风险。
-
事件时间:GitGuardian 于 2026-09-22 发布统计和个案;部分密钥最早泄露于 2024—2025 年,相关方在披露后陆续轮换。
-
事件链接:https://blog.gitguardian.com/github-app-private-keys-leaked/
-
影响范围:
-
4,802 枚受测 GitHub App 私钥中 474 枚仍有效,约占 10%,对应 440 个不同应用。
-
72% 的受影响应用具有某种仓库内容权限;207 个可写内容、44 个有组织管理员权限、40 个可管理自托管 Runner、98 个可控制工作流。
-
单个应用安装数量从 0 到 303 不等;59% 只有一个安装,显示内部机器人和一次性自动化更容易被遗忘。
-
个案涉及 GitHub Actions 访问令牌应用、BuildBuddy 以及 CDC 关联组织;研究者未读取 CDC 私有仓库,也未确认发生实际入侵。
-
技术分类归属:基础设施层 / 数据层 / 应用层 / 编排层
-
事件标签:云
事件背景与回顾
- 身份链路:GitHub App 用长期 RSA 私钥签发最长约 10 分钟的 JWT;GitHub 验证后返回安装令牌,令牌权限取决于应用在每个组织中的安装范围和授权。
- 风险链路:私钥误提交到公开代码 → 密钥永久有效且无人轮换 → 攻击者以 App 身份签 JWT → 获取安装列表和令牌 → 读取或修改私有仓库、工作流及组织设置 → 影响 CI Runner 或下游构建。
- 证据边界:研究验证的是身份仍可认证和权限范围,不等于每个应用已经被攻击;CDC 个案的 Azure 代码执行属于基于公开架构的影响推断。
图示说明:GitGuardian 对仍可认证的 GitHub Apps 汇总了前 20 类权限,内容、Pull Request、组织管理、工作流和部署等高影响权限均有较多应用配置;该图说明泄露私钥可能继承的权限面,不能证明这些权限已被攻击者实际滥用。来源:https://blog.gitguardian.com/github-app-private-keys-leaked/
事件根因深度分析
- 基础设施与云配置错误:私钥没有自动到期机制,密钥生命周期依赖应用所有者手工删除;高权限应用又常覆盖整个组织。
- AI 供应链与存储缺陷:本案不依赖 AI 模型,但直接影响 CI/CD、代码机器人和自动化应用;这些机器身份可修改模型、Agent 或云部署所依赖的源码和工作流。
- 前沿算法/工程逻辑缺陷:核心问题不是算法,而是“短时 JWT”给人以安全感,实际信任根仍是永不过期的长期私钥。
- 复合依赖与应急响应缺陷:密钥泄露位置可能不属于应用维护者仓库,导致责任人和受影响安装难以定位;轮换又可能中断仍在生产使用的遗留自动化。
- 边界防御与分层隔离缺陷:App 一旦取得组织级写权限,其签发令牌与正常自动化不可区分,代码仓库、Actions、Runner 和云部署边界被同一机器身份串联。
VERIZON DBIR 事件分类
研究性暴露,按 System Intrusion(系统入侵)的潜在供应链入口分析:长期机器凭据可被用于接管代码与自动化,但公开材料未确认已发生恶意利用。
攻击路径与 MITRE ATT&CK 技术映射
以下映射描述泄露私钥可支持的潜在路径,不把风险验证写成既成攻击。
防御启示
- 对 GitHub App 私钥实施与云服务账号同级的秘密扫描、所有权登记和强制轮换;任何公开提交都视为已经泄露。
- 定期清理无所有者、无近期活动或只有单一遗留安装的 App,收回组织管理员、工作流和自托管 Runner 权限。
- 监控 App JWT 和安装令牌的异常来源、安装枚举、批量仓库访问及工作流改动,并在轮换后核查是否存在已签发令牌和恶意提交。
内容编辑:浦明
责任编辑:吕治政
本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。
关于我们
绿盟科技研究通讯由绿盟科技创新研究院负责运营,绿盟科技创新研究院是绿盟科技的前沿技术研究部门,包括星云实验室、天枢实验室和孵化中心。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。
绿盟科技创新研究院作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。
我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:绿盟科技研究通讯 星云实验室
星云实验室《AI与云安全事件案例分析周报(2026.09.21 – 2026.09.25)》