悪用されるPyPI

ほぼこもセキュリティニュース By Terilogy Worx

PyPIはPython Package IndexでPython用のサードパーティーソフトウェアリポジトリです。
Pythonのコードを誰でも登録できますし、誰でも使用できます。
使用も簡単で管理コマンドに利用するコードの名前を指定するだけで簡単に自分の環境に取り込むことができます。
そんなPyPIは、これまで何度も悪用されてきています。
先日、また悪性のコードの配布に使用されていました。

  • 悪性のコード
    3つの悪意のあるコードが確認されました。
    名前はそれぞれ「colorslib」、「httpslib」、「libhttps」です。

     

  • コードの公開スタイル
    PyPIのWebサイトでは、公開されているそれぞれのコードについての説明を見ることができます。
    これらのコードのそれぞれは正当に見える整ったReadmeを備えていました。
    有名なパッケージに似た名前を付けてTypoを狙うタイプではなく、自分の実現している内容を説明するReadmeを持ち、オリジナルのコードのように説明されています。

     

  • 悪事の内容
    3つのコードは、いずれも同じ開発者が公開しているものでした。
    そして公開されているコードの内容はそれぞれ異なりますが、3つは同じsetup.pyを持っていました。
    setup.pyはPythonのコードの管理ツールであるpipコマンドが利用するファイルで、この内容に従ってコードのインストール処理が実施されます。
    そしてこれらに含まれていたsetup.pyはWindows用の実行ファイルをダウンロードするように記載されていました。
    setup.pyはOxyz.exeをダウンロードし、これが動作すると環境にupdate.exeをダウンロードし、さらにこれが別のファイル群をダウンロードします。
    ドロッパーがドロッパーをもってきてマルウェアを配置する多段ドロッパーの動きをします。
    よくあるタイプの動きです。
    配置されるマルウェアは、Discord Nitroジェネレーターやインフォスティーラーなどです。

今回確認されているこれら3つのコードはすでに公開を停止されています。
しかしまた別の名前で公開されてしまうことも容易に想像できますので、安心はできません。

Pythonをはじめとした新しいコンピュータ言語は大抵PyPIのようなソフトウェアリポジトリを備えています。
これらにはこの例のような共通の悩みがあります。
有名なものに似た名前のマルウェア配布パッケージ、最初は無害だったのにバージョンアップしたら有害になるパッケージ、開発者が変更になって内容が有害に変更されたパッケージ、まじめに作られているコードだけれどもsetup.pyなどの配布機構が有害なパッケージ、いろいろなスタイルで仕掛けてきます。

ソフトウェアサプライチェーンの脅威はますます大きくなってきています。
ソフトウェアの開発や利用に関わる際には、こういった脅威がいろいろな方法で忍び寄ってくることを踏まえて日々の活動に臨む必要がありそうです。

参考記事(外部リンク):Supply Chain Attack Using Identical PyPI Packages,
“colorslib”, “httpslib”, and “libhttps”

www.fortinet.com/blog/threat-research/supply-chain-attack-using-identical-pypi-packages-colorslib-httpslib-libhttps

一緒によく読まれている記事

最新の脅威情報
をお届け

BLOGブログ

情報セキュリティに対する啓蒙のため、
3つのメディアを運用し、
情報発信を行っています。

わたしたちはサイバー領域や
認知領域の未知なる脅威に、
テクノロジーとインテリジェンスで対抗します。

私たちが選ばれる理由

CONTACT リスクマネジメントサービスの
ご相談窓口

コンステラ セキュリティ ジャパンは
最先端のサービスを
お客様のニーズに
カスタマイズして提供し、
効果が出るまで寄り添います。