GitHub 今天透露,在 4 月中旬的一次安全漏洞中,一名攻击者借助发给 Heroku 和 Travis-CI 的被盗 OAuth 应用程序令牌窃取了大约 100,000 个 npm 帐户的登录详细信息。
威胁参与者成功地从属于数十个组织的私有存储库中破坏和泄露数据。
GitHub在发现攻击三天后的4 月 15 日披露了这一安全漏洞,当时恶意行为者获得了对 npm 生产基础设施的访问权限。
攻击者使用受损的 AWS 访问密钥升级他们的访问权限,该密钥是在攻击的初始阶段使用被盗的 OAuth 用户令牌下载多个私有 npm 存储库后获得的。
违规行为被发现后, GitHub、 Travis CI和 Heroku 撤销了所有 OAuth 令牌,以阻止进一步的黑客攻击。
今天,GitHub 产品安全工程高级总监 Greg Ose 表示,该公司在调查期间发现,未知的威胁行为者从 npm 云存储中窃取了以下数据:
来自 2015 年用户信息存档的大约 10 万个 npm 用户名、密码哈希和电子邮件地址。
截至 2021 年 4 月 7 日的所有私有包清单和元数据。
截至 2022 年 4 月 10 日,所有私有包的已发布版本的名称和 semVer。
来自两个组织的私人包。
但是,尽管密码哈希是使用弱哈希算法(即 PBKDF2 或盐渍 SHA1)生成的,并且可以被破解以接管帐户,但此类尝试将被自 2022 年 3 月 1 日以来在所有帐户上启用的电子邮件验证自动阻止,如果他们’没有参加 2FA。
在对所有 npm 包版本进行日志和事件分析并检查哈希后,GitHub“目前确信该攻击者没有修改注册表中的任何已发布包或向现有包发布任何新版本。”
GitHub 已经重置了所有受影响的 npm 用户的密码,并通知了攻击者访问其数据的所有组织和用户。
想要轮换您的 npm 令牌的人可以按照 此处详述的步骤进行操作。您也可以通过 此处手动重置您的 npm 帐户密码。