悪意の PyPI パッケージが開発マシンを暗号マイニングマシンに変身させる

Malicious PyPI packages hijack dev devices to mine cryptocurrency

2021/06/22 BleepingComputer — 今週のこと、複数の悪意のパッケージが PyPI の Python Project リポジトリに取り込まれ、開発者のワークステーションを暗号マイニング・マシンに変えてしまった。すべての悪意のパッケージは、同じアカウントで公開されており、正規の Python Project 名を誤魔化して使うことで、開発者を騙して何千回もダウンロードさせてた。

この 4月に、Python Package Index (PyPI) に侵入した、悪意のコードを含むパッケージは、合計6つである。

maratlib / maratlib1 / matplatlib-plus / mllearnlib / mplatlib / learninglib

いずれもユーザー nedog123 からのものであり、その大半の名前は、正当なプロットソフトウェア matplotlib のスペルミス・バージョンとなっている。DevOps 自動化企業である Sonatype の security researcher である Ax Sharma は、ブログ記事において maratlib パッケージを分析し、他の悪意のコンポーネントの依存関係として使用されていることを指摘している。そして、「これらのパッケージにおいて、パッケージ・インストール時に実行されるビルドスクリプト setup.py ファイルに、悪意のコードが含まれている」と述べている。

Sharma は、それらのパッケージを分析しているうちに、すでに利用できなくなった GitHub リポジトリから Bash スクリプト (aza2.sh) をダウンロードしようとしていることを発見した。Sharma は、GitHub 上の作者エイリアスを追跡し、このスクリプトの役割が、感染したマシン上で Ubqminer という暗号マイニングを実行することだと突き止めた。

攻撃者たちは、PyPI や NodeJS NPM や RubyGems などのオープンソース・コード・リポジトリを常に狙っていると、この記事は指摘しています。たとえば、ダウンロード数が少ないパッケージであっても、広く使われているプロジェクトに悪意のコードが組み込まれる可能性があるため、大きなリスクが生じます。今回のケースでは、Sonatype が自動マルウェア検出システム Release Integrity を用いて、PyPI のリポジトリをスキャンした結果として、6つの悪意のパッケージが検出されたわけです。検出された時点で、これらのパッケージは4月以降において、約5,000回のダウンロード数を記録しており、中でも maratlib は 2,371回のダウンロード数を記録していたとのことです。

%d bloggers like this: