Checkmarxは11月16日(米国時間)、「Attacker targeting Python developers」において、Pythonを使用する開発者を標的とした悪意のあるPythonパッケージの配布を確認したと報じた。これら悪意のあるパッケージは半年ほど前から配布されていたとみられ、これまでに国内のユーザを含め合計で4,000回以上ダウンロードされたという。
Checkmarxの調査によるとこれまでに確認された悪意のあるパッケージは27種で、「pyefflorer」、「pyhulul」、「pyjio」、「pyioler」、「pytasler」、「kokokoako」、「pyalsogkert」、「pyioapso」、「pykokalalz」、「pyhjdddo」、「pyktrkatoo」、「pytarlooko」、「pystallerer」、「pykooler」、「pyowler」、「pylioner」、「pystob」、「pyminor」、「pyjoul」、「pyghoster」、「pypiele」、「gogogolokl」、「lalalaopti」、「pyclack」、「pywolle」、「pywhool」、「pywool」とされる。いずれも人気のある既存のPythonパッケージに似た名称がつけられており、ユーザーの入力ミスまたはだまされてダウンロードすることを目的としている可能性があると指摘されている。
これらパッケージには悪意のあるコードがsetup.pyファイルに含まれているものと、悪意のあるパッケージへの参照が含まれているものがある。Checkmarxの分析では、さまざまな種類の悪意のあるコードが確認されているが、主に次のような手順で攻撃を実行するという。
- ログインユーザのユーザー名を確認
- ユーザーのスタートメニュープログラムパス内に「System64」という名称のディレクトリを作成
- VBScriptとバッチファイルを展開し、「Runtime.exe」という名称のファイルをダウンロードして実行。ファイルをスタートアップフォルダに配置して永続性を確保
- 不必要となったスクリプトなどを削除して侵害の痕跡を消去
Runtime.exeファイルにはシステム、ブラウザ、アプリケーションから広範囲の機密情報を窃取する機能が含まれていることが確認されたとのこと。また、Exodus暗号資産ウォレットの「Local State」ファイルを読み取り、暗号通貨資産の不正アクセスにつながる可能性のある機密データを窃取する機能もあるとされる。これらより、このPythonパッケージを使用した攻撃では暗号通貨資産も標的に含まれているものとみられている。
Checkmarxはこのような攻撃を回避するため、オープンソースのパッケージを利用する開発者に対し、インストール前にパッケージを精査することを推奨している。その例として、ブラウザ拡張機能の「os-scar/overlay: Overlay is a browser extension helping developers evaluate open source packages before picking them」の利用を挙げている。このブラウザ拡張機能はnpm、PyPI、Goなどに対応したパッケージ評価ツールで、人気、品質、セキュリティ、メンテナンス、互換性などの指標に基づいた評価を支援し、依存関係や脆弱性などの情報確認も可能だという。