微信号:frontshow

介绍:InfoQ大前端技术社群:囊括前端、移动、Node全栈一线技术,紧跟业界发展步伐。

npm安全团队阻止数字货币盗窃企图

2019-06-10 19:55 王强 译

源自 | npm blogs
译者 | 王强

6月5日 npm 安全团队与 Komodo 合作阻止了一种恶意软件对 Agama 数字货币钱包用户的攻击企图,保护了价值超过 1300 万美元的数字货币资产。

这次攻击的逻辑是将恶意程序包放入 Agama 的构建链中,并窃取应用中保存的钱包密码和其他登录密码。

细节

这次攻击使用了一种越来越流行的模式:先向 npm 发布一个“useful”的包(electron-native-notify),等到它被目标使用后更新包内容,加入恶意代码。

GitHub 用户 sawlysawly 在 3 月 8 日提交了这个更新,其中添加了 electronic-native-notify ^ 1.1.5 作为对 EasyDEX-GUI 应用程序的依赖(后者是 Agama 钱包的一部分组件)。

electron-native-notify 的下一个版本在 15 天后发布,是第一个包含恶意代码的版本。之后在 4 月 13 日,Agama 发布了 0.3.5 版本。

electron native notify publication timeline
"1.0.0": "2019-03-06T23:54:33.625Z"
"1.0.1": "2019-03-07T03:07:45.585Z"
"1.0.2": "2019-03-07T03:10:00.491Z"
"1.0.3": "2019-03-08T03:46:17.223Z"
"1.1.0": "2019-03-08T04:04:55.489Z"
"1.1.1": "2019-03-08T04:18:13.915Z"
"1.1.2": "2019-03-08T04:29:26.857Z"
"1.1.3": "2019-03-08T04:44:44.991Z"
"1.1.4": "2019-03-08T04:47:23.483Z"
"1.1.5": "2019-03-08T09:58:07.558Z" <- KomodoPlatform/EasyDEX-GUI installs package
"1.1.6": "2019-03-23T09:28:57.679Z" <- Malicious payload introduced here
"1.1.7": "2019-03-23T10:45:36.035Z"
"1.2.0": "2019-04-16T02:09:56.904Z" <- Agama updated by sawlysawly to this version
"1.2.1": "2019-05-11T11:44:21.933Z"
"1.2.2": "2019-06-03T15:26:40.054Z"

在我们的内部安全工具对此威胁发布警告后,我们通知了 Komodo 并与其合作来保护他们的用户,并从 npm 上删除了恶意软件。

下面是一个简短的演示,显示 Agama 钱包将用户的钱包密码发送到远程服务器的过程: https://youtu.be/6Guadww8CnU

在左边启动钱包应用后,你会在右边看到“updatecheck.herokuapp...”的请求,要求下载第二阶段的恶意负载。一旦用户输入钱包密码,就能看到这个远程服务器用另一个请求成功窃取了 wallet seed。

现在该做什么

Komodo 平台发布了以下声明,为 Agama 钱包的用户提供了一些指引: https://komodoplatform.com/vulnerability-discovered-in-komodos-agama-wallet-this-is-what-you-need-to-do/。

npm 的用户如果在他们的项目中遇到这种恶意依赖,将通过“npm audit”收到自动通知。

英文原文: https://blog.npmjs.org/post/185397814280/plot-to-steal-cryptocurrency-foiled-by-the-npm

 
前端之巅 更多文章 2020年你应该知道的8种前端JavaScript趋势和工具 未来PWA将取代本地应用,\\b成为构建良好用户体验的首选方式 WHATW击败W3C,赢得HTML和DOM的控制权 百度自研面向智能设备的语音交互编程语言VSL:用于实现语音交互视图 巧用ES6,轻松优化Vue代码
猜您喜欢 浅谈12306核心模型设计思路和架构设计 我在科普·十九大时光 | 中国科学院国家天文台研究员郑永春:仰望星空,践行科普 疯狂暴涨曾破 2 万美元的比特币,到底是怎么一回事? 删除ceph集群mds 程序运行时的内存空间分布