事件报告:CVE-2024-YIKES

2026-05-10 1 阅读 miniBill
提交报告: UTC 时间 03:47 状态: 已解决(意外) 严重性: 严重 → 灾难性 → 不知何故良好 持续时间: 73 小时 受影响的系统: 是 执行摘要: 发生了安全事件。已经解决了。我们非常重视安全。请参阅之前的 14 起事件报告,了解严重程度的详细信息。摘要 JavaScript 生态系统中的依赖关系受损导致凭证被盗,从而导致对 Rust 压缩库的供应链攻击,该压缩库被提供给 Python 构建工具,该工具将恶意软件发送给大约 4​​00 万开发人员,然后无意中被不相关的加密货币挖掘蠕虫修补。时间线第 1 天,03:14 UTC — left-justify 的维护者 Marcus Chen(每周下载量为 8.47 亿次)在 Twitter 上报告说,他的交通卡、一台旧笔记本电脑和“Kubernetes 吐出的看起来很重要的东西”从他的公寓被偷了。他没有立即将其与包安全联系起来。第 1 天,09:22 UTC — Chen 尝试登录 nmp 注册表。他的硬件 2FA 密钥丢失。他在谷歌上搜索了哪里可以买到替代的 YubiKey。结果顶部的人工智能概述链接到“yubikey-official-store.net”,这是一个六小时前注册的钓鱼网站。第一天,世界标准时间 09:31 — Chen 在网络钓鱼网站上输入了他的 nmp 凭据。该网站感谢他的购买,并承诺在 3-5 个工作日内发货。第 1 天,11:00 UTC — [email protected] 已发布。变更日志显示“性能改进”。该软件包现在包含一个安装后脚本,该脚本将 .npmrc 、 .pypirc 、 ~/.cargo/credentials 和 ~/.gem/credentials 渗漏到攻击者错误地认为与任何人都没有引渡条约的国家/地区的服务器上。第 1 天,13:15 UTC — 针对 left-justify 打开了一个标题为“为什么你的 SDK 泄露我的 .npmrc”的支持票证。它被标记为“低优先级 - 用户环境问题”,并在 14 天不活动后自动关闭。第一天,14:47 UTC — 被盗的凭证包括: vulpine-lz4 的维护者,这是一个用于“极快的 Firefox 主题 LZ4 解压”的 Rust 库。图书馆的标志是一只戴着墨镜的卡通狐狸。它在 GitHub 上有 12 颗星,但它是 Cargo 本身的传递依赖。第 1 天,22:00 UTC — vulpine-lz4 版本 0.4.1 发布。提交消息是“修复:解决流解压缩中的边缘情况”。实际的更改添加了一个 build.rs 脚本,如果主机名包含“build”或“ci”或“action”或“jenkins”或“travis”,或者莫名其妙地包含“karen”,则该脚本会下载并执行 shell 脚本。第 2 天,世界标准时间 08:15 — 安全研究员 Karen Oyelaran 在她的个人笔记本电脑触发有效负载后注意到了恶意提交。她提出了一个题为“您的构建脚本从互联网下载并运行 shell 脚本?”的问题。这个问题没有得到解答。合法维护者赢得了欧洲百万欧元 230 万欧元,正在研究葡萄牙的山羊养殖。世界标准时间第 2 天 10:00 — 财富 500 强 snekpack 客户的工程副总裁从 LinkedIn 的一篇题为“您的公司是否受到左对齐影响?”的帖子中获悉了这一事件。他在毛伊岛的海滩上,想知道为什么他没有早点被困住。他更快地被困住了。第 2 天,世界标准时间 10:47 — #incident-response Slack 频道短暂转向一条包含 45 条消息的线程,讨论美式英语中“compromished”是否应该拼写为“z”。有人建议将其离线。第 2 天,12:33 UTC — shell 脚本现在针对特定受害者:snekpack 的 CI 管道,这是一种 Python 构建工具,60% 的 PyPI 包都使用其名称中包含“数据”一词的包。 snekpack 供应商 vulpine-lz4 因为“Rust 是内存安全的”。第 2 天,18:00 UTC — snekpack 版本 3.7.0 发布。该恶意软件现已安装在世界各地的开发人员计算机上。它将 SSH 密钥添加到 ~/.ssh/authorized_keys ,安装仅在星期二激活的反向 shell,并将用户的默认 shell 更改为钓鱼(最后一个行为被认为是一个错误)。第二天,世界标准时间 19:45 — 第二位不相关的安全研究人员发表了一篇博客文章,标题为“我发现了一次供应链攻击,并将其报告给了所有错误的人”。这篇帖子有 14,000 字,其中包括“在这种经济形势下?”这样的短语。七次。第 3 天,世界标准时间 01:17 — 奥克兰的一名初级开发人员在调试不相关的问题时注意到了恶意代码。她打开了一个 PR 以恢复 snekpack 中出售的 vulpine-lz4 。 PR 需要两次批准。两位批准者都在睡觉。第 3 天,02:00 UTC — left-justify 的维护者从 yubikey-official-store.net 收到他的 YubiKey。这是一个价值 4 美元的 USB 驱动器,其中包含一个写着“lol”的自述文件。第 3 天,06:12 UTC — 一种名为 cryptobro-9000 的不相关的加密货币挖掘蠕虫开始通过 jsonify-extreme 中的漏洞进行传播,该软件包“使 JSON 变得更加 JSON,现在具有嵌套注释支持”。该蠕虫的有效负载并不引人注目,但其传播机制包括在受感染的计算机上运行 npm update 和 pip install --upgrade ,以最大限度地扩大未来操作的攻击面。天