GitHub 4月15日透露,网络攻击者正使用被盗的 OAuth 用户令牌从其私有存储库下载数据。
据悉,这类攻击事件被首次发现于4月12日,攻击者使用 Heroku 和 Travis-CI 两家第三方集成商维护的 OAuth 应用程序(包括 npm)访问并窃取了数十个组织的数据。GitHub首席安全官 (CSO) Mike Hanley 透露,这些集成商维护的应用程序会被 GitHub 用户使用,也包括 GitHub 本身。
“我们不认为攻击者通过入侵 GitHub 或其系统获得了这些令牌,因为 GitHub 并未以原始的可用格式存储这些令牌,”Hanley表示。““我们对攻击者的其他行为分析表明,他们可能正在挖掘下载私有存储库内容,被盗的 OAuth 令牌可以访问这些内容,以获取可用于其他基础设施的秘密。”
根据 Hanley 的说法,受影响的 OAuth 应用程序包括:
Heroku Dashboard (ID: 145909)
Heroku Dashboard (ID: 628778)
Heroku Dashboard – Preview (ID: 313468)
Heroku Dashboard – Classic (ID: 363831)
Travis CI (ID: 9216)
根据描述,GitHub 安全部门 于 4 月 12 日发现攻击者使用泄露的 AWS API 密钥,对 GitHub 的 npm 生产基础设施进行未经授权的访问。这些API密钥可能就是攻击者使用窃取的 OAuth 令牌下载多个私有 npm 存储库后获得。4月13日,在发现第三方 OAuth 令牌被盗窃后,GitHub已立即采取行动,通过撤销与 GitHub 相关令牌和 npm 对这些受感染应用程序的内部使用来保护数据。
虽然攻击者能够从受感染的存储库中窃取数据,但 GitHub 认为,npm 使用与 GitHub 完全独立的基础设施, GitHub没有任何包被修改,也没有在攻击中出现访问用户帐户数据或凭证泄露的情况。此外,也未有任何证据表明,攻击者使用被盗的第三方 OAuth 令牌克隆了其他的 GitHub 私有存储库。
目前调查仍在继续,GitHub 已将有关情况通知给所有受影响的用户和组织。