RubyGems软件包存储库的维护者近期移除了11个Ruby库中出现的18个恶意版本,这些版本包含了后门机制,可以在使用Ruby时启动加密货币挖掘程序。
恶意代码最初发现于4个版本的rest-client库中,rest-client是一个非常流行的Ruby库。这些库中的恶意代码会将受感染系统的URL和环境变量发送到乌克兰的远程服务器。同时代码还包含一个后门机制,允许攻击者将cookie文件发送回受感染对象,并允许攻击者执行恶意命令。研究者调查后发现,这种机制被用于挖矿。
除了rest-client,还有其它10个Ruby库也中招,但它们都是通过使用另一个功能齐全的库添加恶意代码,然后以新名称在RubyGems上重新上传而创建的。
研究人员分别统计了这些恶意版本在被移除前被下载的次数,一共被下载了三千多次,其中rest-client 1.6.13被下载了一千多次:
rest-client:1.6.10(下载176次),1.6.11(下载2次),1.6.12(下载3次)和1.6.13(下载1061次)
bitcoin_vanity:4.3.3(下载8次)
lita_coin:0.0.3(下载210次)
即将推出:0.2.8(下载211次)
omniauth_amazon:1.0.1(下载193次)
cron_parser:0.1.4(下载2次),1.0.12(下载3次))和1.0.13(下载248次)
coin_base:4.2.1(下载206次)和4.2.2(下载218次)
blockchain_wallet:0.0.6(下载201次)和0.0.7(下载222次)
awesome-bot:1.18.0(下载232次)
doge-coin:1.0.2(下载213次)
capistrano-colors:0.5.5(下载175次)
安全起见,建议在依赖关系树中删除这些库版本,或者升级/降级到安全版本