一场名为“wfx-loot”的大规模攻击活动开始针对GitHub平台。攻击者针对超过60,000个软件仓库(Repository)进行攻击,以测试窃取的访问权限并植入旨在窃取敏感凭据的恶意软件。根据Aikido Security和StepSecurity等安全公司的报告,已监测到约4,800个被盗账号被用于提交可疑的拉取请求(Pull Requests),以测试可用的权限。
报告指出,由于设置和权限允许,该恶意软件已在超过1,800个软件仓库中成功运行;而SafeDep公司记录到恶意修改已触及约8,093个公开仓库,但这并不一定意味着在所有仓库中都成功执行了该软件。
攻击机制:利用信任而非漏洞
此次攻击的一个核心点在于,攻击者并非在利用GitHub Actions中的软件漏洞,而是依赖于使用属于开发者或已被接管的软件账号(Bots)的有效“访问令牌”(Tokens)。恶意软件被注入到多个位置,包括:
- GitHub Actions工作流(Workflows)。
- 由持续集成(CI)系统运行的Shell脚本。
- npm包安装钩子,这给在存在恶意修改时安装依赖项(Dependencies)的开发者带来了风险。
这场攻击究竟改变了什么?
“wfx-loot”活动的危险之处在于攻击者策略的转变:从寻找技术漏洞(Exploits)转向利用被盗账号的“被授予的信任”。攻击者不再试图破坏系统,而是使用合法的密钥进行非法操作,这使得检测变得更加困难。该恶意软件旨在窃取GitHub令牌、仓库机密以及如AWS和Azure之类的云端凭据,此外还包括人工智能服务密钥(AI service keys),这可能导致企业云基础设施被完全入侵并扩大访问范围。
为了掩盖痕迹,攻击者采用了一种在完成任务后撤销代码更改并删除工作流运行(Workflow runs)日志的方法。此外,在某些请求中还观察到使用了由Fly.io应用发出的令牌,尽管目前还没有证据表明Fly.io自身的的基础设施遭到了入侵。
给开发者和组织的安全性建议
鉴于形势严峻,安全公司建议可能已遭受恶意软件执行影响的组织必须立即采取以下措施:
- 撤销所有疑似被盗的访问令牌(Tokens)。
- 轮换(Rotate)所有可能已泄露的机密和凭据。
- 仔细检查云端计算日志,以查找任何未经授权的更改或活动。