
Part 01: 恶意Rust组件伪装时间工具窃取密钥
网络安全研究人员最近揭露了一系列伪装成时间相关工具的恶意 Rust 组件(crate)。这些通过 crates.io 发布的软件包,其真实目的是窃取开发者的 .env 文件数据并外泄给攻击者。
涉及的恶意 Rust 软件包包括:
- chrono_anchor
- dnp3times
- time_calibrator
- time_calibrators
- time-sync
根据安全公司 Socket 的分析,这些组件伪装成访问 timeapi.io 服务,于2026年2月下旬至3月上旬发布。由于使用了相同的数据外泄方法和相似的域名(“timeapis[.]io”)来存储窃取的数据,研究人员判断这些攻击均出自同一威胁行为者之手。
“虽然这些组件伪装成本地时间工具,但其核心行为是窃取凭证和密钥,”安全研究员 Kirill Boychenko 指出,“它们试图从开发者环境中收集敏感数据(特别是 .env 文件),并将其外泄至攻击者控制的基础设施。”
在这五个软件包中,有四个仅具备基础的 .env 文件外泄功能。而 “chrono_anchor” 则采用了更高级的规避技术,通过代码混淆和操作变更来逃避安全检测。这些组件通常被宣传为无需依赖网络时间协议(NTP)即可校准本地时间的工具,对于Rust开发者颇具迷惑性。
“chrono_anchor” 将其恶意逻辑隐藏在一个名为 guard.rs 的文件中。该文件通过一个名为 optional sync 的辅助函数被调用,旨在避免引起开发者的怀疑。与其他试图在系统内建立持久性的恶意软件不同,此代码的策略是在持续集成(CI)工作流中,每当开发者调用恶意代码时,便重复尝试外泄 .env 文件中的密钥。
攻击者将目标锁定在 .env 文件上并非偶然。这类文件通常存放着 API 密钥、访问令牌等核心敏感信息。一旦得手,攻击者不仅能危害下游用户,还可能借此深入访问受害者的云服务、数据库、GitHub及各类注册表,后果严重。
尽管这些恶意软件包已被从 crates.io 下架,但任何可能误下载的用户都应假设其密钥已遭泄露。建议立即采取以下措施:
- 轮换所有相关的密钥和访问令牌。
- 全面审核所有使用发布或部署凭证运行的 CI/CD 任务。
- 尽可能在 CI/CD 环境中限制非必要的出站网络访问。
“此次攻击活动表明,即便是低复杂度的供应链恶意软件,只要能在开发者工作区或 CI 任务中运行,就能造成重大影响,” Socket 团队强调,“因此,优先实施能够在恶意依赖项执行前就将其拦截的控制措施至关重要。”

Part 02: AI驱动的机器人利用GitHub Actions自动化攻击
在上述Rust组件事件披露之前,安全研究人员还发现了另一场高度自动化的攻击活动。一个名为 hackerbot-claw 的 AI 驱动机器人,专门扫描公共代码仓库,寻找配置不当的 GitHub Actions 工作流,以窃取开发者密钥。
在2026年2月21日至28日期间,这个自称“自主安全研究代理”的 GitHub 账户瞄准了至少七个知名仓库,其中不乏微软、Datadog 和 Aqua Security 等企业的项目。
其攻击流程呈现出高度的自动化特征:
- 扫描:自动扫描公共仓库,寻找配置存在安全缺陷的 CI/CD 管道。
- 分叉:分叉目标仓库,并在本地准备恶意负载。
- 伪装提交:提交一个包含拼写修复等微小、合理变更的拉取请求(PR)。同时,将主要的恶意负载隐藏在分支名称、文件名或 CI 脚本注释等不易察觉的地方。
- 触发执行:利用 GitHub Actions 工作流在每个拉取请求上自动激活的特性,触发 CI 管道,导致恶意代码在构建服务器上执行。
- 窃取数据:成功执行后,窃取服务器上的密钥和访问令牌。
此次攻击中最高调的目标是 Aqua Security 旗下的热门安全扫描工具仓库 aquasecurity/trivy。该工具本身用于检测漏洞、错误配置和暴露的密钥,却成了攻击的受害者。
供应链安全公司 StepSecurity 分析称:“hackerbot-claw 利用了 pull_request_target 工作流的特性,窃取了具有高权限的个人访问令牌(PAT)。失窃的凭证随后被用于尝试接管仓库。”
Aqua Security 的 Itay Shakury 在后续声明中透露,攻击者利用被劫持的 GitHub Actions 工作流,向 Open VSX 注册表推送了 Trivy 的 Visual Studio Code(VS Code)扩展的恶意版本(1.8.12 和 1.8.13)。这些恶意扩展会操控本地的 AI 编码代理(如 Claude、GitHub Copilot CLI 等),收集并外泄系统敏感信息。
同样调查了此次事件的 Socket 提供了更详细的分析:恶意扩展会以高权限模式执行本地 AI 编码助手,指示它们执行广泛的系统检查、生成报告,并最终利用受害者已认证的 GitHub CLI 会话,将窃取的数据保存到一个名为 posture-report-trivy 的 GitHub 仓库中。
Aqua Security 已从市场移除相关恶意构件并撤销了发布令牌。安装过这些版本扩展的用户应立即:
- 卸载恶意扩展(1.8.12 和 1.8.13)。
- 检查自己的 GitHub 账户下是否存在意料之外的仓库。
- 立即轮换所有可能已泄露的环境密钥。
此次扩展入侵事件被追踪为 CVE-2026-28353。需要注意的是,系统要受此漏洞影响,需同时满足多个前提条件:
- 从 Open VSX 安装了 Trivy 扩展的 1.8.12 或 1.8.13 版本。
- 本地至少安装了一个目标 AI 编码 CLI 工具。
- 该 CLI 工具接受了恶意代码提供的“高权限执行”标志。
- 代理能够访问磁盘上的敏感数据。
- (针对1.8.13版本)已安装并完成了身份验证的 GitHub CLI。
“从 .12 到 .13 版本的演进像是一个迭代调试过程,” Socket 分析道,“第一个版本将数据分散到随机通道,导致攻击者自己都无法可靠收集;第二个版本则试图利用受害者自己的 GitHub 账户作为干净的外泄通道,但其模糊的指令可能导致代理将数据推送到攻击者无法访问的私有仓库。”

这两起事件清晰地表明,软件供应链攻击正变得日益复杂和自动化。从伪装成合法工具的开源组件,到利用AI机器人自动化探测和攻击CI/CD流程,攻击者的手段不断翻新。这要求开发者和企业必须将安全左移,在依赖引入、CI/CD管道配置等环节实施更严格的安全管控和审计。对于开发者而言,保持依赖项更新、审查第三方代码、严格控制CI环境权限和网络出口,是防御此类供应链攻击的基础。如果你想了解更多关于开发运维安全的最佳实践,欢迎到云栈社区的相关板块进行交流探讨。
参考来源:
Five Malicious Rust Crates and AI Bot Exploit CI/CD Pipelines to Steal Developer Secrets
https://thehackernews.com/2026/03/five-malicious-rust-crates-and-ai-bot.html