ESETは12月12日(現地時間)、「A pernicious potpourri of Python packages in PyPI」において、公式Pythonパッケージリポジトリ「PyPI」にWindowsおよびLinux環境を標的とする悪意のあるPythonプロジェクトのクラスタを発見したとして、注意を喚起した。

53のプロジェクトから116個のマルウェアを含む悪意のあるパッケージが発見されている。発見されたプロジェクトやパッケージの一覧は「malware-ioc/pypi_backdoor at master · eset/malware-ioc · GitHub」から確認することができる。

  • A pernicious potpourri of Python packages in PyPI

    A pernicious potpourri of Python packages in PyPI

マルウェアを含む悪意あるパッケージの概要

ESETによるとこれら悪意のあるパッケージは合計1万回以上ダウンロードされており、2023年5月以降は平均して約80回/日のダウンロードを確認しているという。これらパッケージには人気のパッケージ名に似せたものが含まれているが、タイポスクワッティングではなくソーシャルエンジニアリング攻撃によりインストールさせられていると推測されている。

  • pipによりダウンロードされた悪意のあるパッケージの回数 - 提供:ESET

    pipによりダウンロードされた悪意のあるパッケージの回数 引用:ESET

これら悪意のあるパッケージをインストールすると、通常はリモートコマンドの実行やファイルの抽出を可能にするバックドアがインストールされる。「W4SP Stealer」と呼ばれる情報窃取型マルウェアの亜種、または暗号通貨の窃取を目的としたクリップボードモニタがインストールされる場合もある。

PyPIを安全に使うための対策

ESETによると、調査の段階でほとんどのパッケージがPyPIによってすでにリポジトリから削除されていたとのこと。削除されずに残っていた悪意のあるパッケージについては、ESETがPyPIに連絡しており、すでにすべてが削除されている。ESETはこれら悪意のあるパッケージの問題は、PyPI自身のセキュリティ上の問題ではないと指摘している。

PythonパッケージリポジトリのPyPIは、Python開発者を標的とした攻撃において悪用が続いている。このため、Python開発者はパッケージをインストールする前に、悪意のあるコードが潜んでいないか徹底的に精査することが望まれている。

ESETは脅威アクターによるPyPIの悪用がこれからも継続すると予想しており、公開リポジトリからコードを利用する場合は注意してほしいと呼びかけている。また、今回の調査で判明したセキュリティ侵害インジケータ(IoC: Indicator of Compromise)を公開しており、必要に応じて活用することが望まれている。