写点什么

ESLint 的 NPM 账户遭黑客攻击,可能窃取用户 NPM 访问令牌

  • 2018-07-16
  • 本文字数:1488 字

    阅读完需:约 5 分钟

7 月 12 日,黑客攻击了 ESLint 维护者的 NPM 帐户,并将带有病毒的 eslint-scope 和 eslint-config-eslint 软件包发布到 NPM 注册表中。带有恶意病毒的软件包在安装时,计算机会自动下载并执行 pastebin.com 代码,然后将含有 NPM 访问令牌的.npmrc 文件内容发送给攻击者。

事件的起因是由于帐户遭到入侵的维护者在其他几个网站上设置的密码和 npm 上的一样,并且没有在他们的 npm 帐户上启用双重身份验证。

对此,ESLint 团队表示:

我们对此表示遗憾,我们希望其他软件包维护者可以从我们的错误中吸取教训并提高整个 npm 生态系统的安全性。

恶意程序包包含在 eslint-scope@3.7.2 和 eslint-config-eslint@5.0.2 中,目前,它们都已经从 npm 中被移除出去了,pastebin.com 在这些包中的链接也已被删除。

npm 也已撤销在 2018-07-12 12:30 UTC 之前发出的所有访问令牌。因此,受此攻击影响的所有访问令牌都不再可用。

受影响的包

  • eslint-scope@3.7,是几个流行包的依赖项,包括一些旧版本的 eslint 和最新版本的 babel-eslint 和 webpack。
  • eslint-config-eslint@5.0 是 ESLint 团队内部使用的配置,在其他地方使用很少。

据报道,受损版本是 eslint-scope 3.7.2,是昨天发布的版本。3.7.1 和 4.0.0 是安全的。如果你昨天已完成 npm 安装,请重置你的 NPM 令牌并再次安装 npm。如果你使用了 eslint-scope 3.7.2、ESLint 4 或任何版本的 Babel-ESLint(尚未更新到 4.0.0),则会受到影响。

如果你运行自己的 npm 注册表,则应删除带有恶意病毒的软件包,它们在 npmjs.com 注册表中已经被删除了。

攻击方式: https://gist.github.com/hzoo/51cb84afdc50b14bffa6c6dc49826b3e

官方建议

  • 软件包维护者和用户应避免在多个不同的站点上重复使用相同的密码,1Password 或 LastPass 这样的密码管理器可以帮助解决这个问题。
  • 包维护者应该启用 npm 双重身份验证,可参照 npm 上的指南( https://docs.npmjs.com/getting-started/using-two-factor-authentication )。
  • 如果你使用 Lerna,则可以按此操作( https://github.com/lerna/lerna/issues/1091 )。
  • 软件包维护者应审核并限制有权在 npm 上发布的人数。
  • 软件包维护者应注意使用任何自动合并依赖项的升级服务。
  • 应用程序开发人员应使用 lockfile(package-lock.json 或 yarn.lock)来阻止自动安装新软件包。

时间线

  • 事件发生之前:攻击者可能在第三方攻击中发现维护者重复使用的电子邮件和密码,并使用它们登录维护者的 npm 帐户。
  • 2018 年 7 月 12 日凌晨:攻击者在维护者的 npm 帐户中生成了一个身份验证令牌。
  • 2018-07-12 9:49 UTC:攻击者使用生成的身份验证令牌发布 eslint-config-eslint@5.0.2,其中包含泄露本地计算机.npmrc 身份验证令牌的恶意脚本 postinstall。
  • 2018-07-12 10:25 UTC:攻击者删除 eslint-config-eslint@5.0.2。
  • 2018-07-12 10:40 UTC:攻击者发布 eslint-scope@3.7.2,其中包含相同的恶意 postinstall 脚本。
  • 2018-07-12 11:17 UTC:用户发布了 eslint / eslint-scope#39( https://github.com/eslint/eslint-scope/issues/39 ),通知 ESLint 团队出现此问题。
  • 2018-07-12 12:27 UTC:包含恶意代码的 pastebin.com 链接被删除。
  • 2018-07-12 12:37 UTC:npm 团队在与 ESLint 维护人员联系后将 eslint-scope@3.7.2 删除。
  • 2018-07-12 17:41 UTC:ESLint 团队发布 eslint-scope@3.7.3 和 eslint-scope@3.7.1 的代码,以便缓存可以获取新版本。
  • 2018-07-12 18:42 UTC:npm 撤销了在 2018-07-12 12:30 UTC 之前生成的所有访问令牌。

相关链接

原始报告: https://github.com/eslint/eslint-scope/issues/39

npm 报告: https://status.npmjs.org/incidents/dn7c1fgrr7ng

2018-07-16 06:311751
用户头像

发布了 83 篇内容, 共 52.6 次阅读, 收获喜欢 187 次。

关注

评论

发布
暂无评论
发现更多内容

3步优化你的海外平台推广:从受众定位到创意A/B测试

Wolink

电商营销 出海 海外社媒营销 海外营销推广 跨境电商运营

Sentieon | 水稻全基因组(WGS)分析全流程

INSVAST

Sentieon WGS 分子育种 全基因组分析流程 农作物

护理技能AI智能交互训练系统:用AI技术重构护理实训新范式

上海拔俗

云栖实录 | AI原生搜索引擎:Elasticsearch 换“芯”——AI原生搜索内核增强技术

阿里云大数据AI技术

elasticsearch 阿里云 AI搜索

暖哇科技陈鸿出席泰康保险集团第七届1024科技节,分享“AI+专识+多智能体”理赔实践

暖哇科技

海外达人营销全攻略:如何精准锁定高ROI的海外红人?

Wolink

跨境电商 海外社媒营销 海外营销推广 品牌出海 达人营销

从“腰酸背疼”到“帝王坐”,只差一把保友金豪E2 Pro人体工学椅

小满大王i

人体工学 人体工学椅 办公椅

设计稿如何快速生成代码?5个提效AI工具盘点

职场工具箱

设计 figma AI工具 设计稿转代码 AI 代码助手

2025青科会启幕,网易伏羲携游戏AI前沿实践共话未来

网易伏羲

知乎 网易伏羲 游戏AI 具身智能 群体智能

百度亮相 SREcon25:搜索稳定背后的秘密,微服务雪崩故障防范

Baidu AICLOUD

微服务架构 SRE

钢铁行业数字化利器,TDengine 时序数据库荣获金恒科技“年度卓越供应商”

TDengine

tdengine 时序数据库 国产时序数据库

过程控制 软件维护经验总结(2)

万里无云万里天

工业 工厂运维 过程控制

图灵进化招人啦

慢点科技SlowTech

大规模微服务系统中的雪崩故障防治

百度Geek说

百度 SRE 系统稳定性 雪崩预防和应对 微服务架构治理

开了 8 年母婴店,靠微擎守住了 20000 会员的信任,再也不怕数据泄露

微擎应用市场

过程控制 通讯维护经验总结(2)

万里无云万里天

工业 工厂运维 过程控制

每个团队都需要“超级引导者”

ShineScrum

敏捷 沟通艺术 引导者

集成平台如何实现“应用即服务”?深入解析 iPaaS 的服务化理念

谷云科技RestCloud

数据处理 数据传输 集成平台 应用集成 ipaas

AI赋能:新一代海外网红营销服务公司的核心技术优势

Wolink

跨境电商 出海 海外社媒营销 海外营销推广 品牌出海

2025海外达人营销趋势报告:品牌出海必看的五大变化

Wolink

跨境电商 海外社媒营销 海外营销推广 品牌出海 达人营销

AI英语听说训练系统:用AI技术打通“能听会说”的最后一公里

上海拔俗

《哪吒2》与国产超高清标准突围

脑极体

AI

快递鸟 API 接口全面解析:企业级物流解决方案

快递鸟

文心快码3.5S开发古风射覆小游戏,它帅到我了!

Comate编码助手

AI 编程 文心快码 文心快码3.5S AI编程助手

OceanBase 分布式数据库的 ETL 实践:从抽取到实时分析

谷云科技RestCloud

postgresql 数据同步 ETL 数据集成 oceanbase

AI语料库智慧教学平台:用AI技术解锁语料教学新生态

上海拔俗

海外电商公司必备:海外网红营销服务的高效增长方案

Wolink

跨境电商 电商营销 海外社媒营销 海外营销推广 品牌出海

Java数据库应用原型

码界行者

Java

隐语SecreFlow:如何全面提升MPC多方安全学习的性能?

隐语SecretFlow

算法 算子 多方安全学习

Squid 可观测性最佳实践

观测云

squid

由 Mybatis 源码畅谈软件设计(四):动态 SQL 执行流程

京东科技开发者

ESLint的NPM账户遭黑客攻击,可能窃取用户NPM访问令牌_DevOps & 平台工程_覃云_InfoQ精选文章