Kaspersky Labは8月16日(現地時間)、「Two more malicious Python packages in the PyPI | Securelist」において、Pythonの公式サードパーティ製ソフトウェアリポジトリに2つの悪意のあるPythonパッケージを発見したと伝えた。社内の自動化システムを使用してPyPI (Python Package Index)リポジトリを調査したところ、これらを見つけたと説明している。

  • Two more malicious Python packages in the PyPI|Securelist

    Two more malicious Python packages in the PyPI | Securelist

悪意のあるパッケージは「pyquest」および「ultrarequests」と名付けられており、人気のあるパッケージの一つとされている「requests」を装っていたことがわかった。攻撃者は、被害者をだましてこれらのパッケージをインストールさせるために正規のrequestsパッケージの説明文を使用し、あたかもパッケージが人気であるかのような偽の統計情報が含まれていたという。

また、プロジェクトの説明には、requestsパッケージのWebページや作者の電子メールが参照されており、正規のパッケージの名前に関する言及はすべて、悪意のあるパッケージの名前に置き換えられていた。

Kaspersky Labの調査により、このパッケージのほとんどがrequestsパッケージのソースコードとほぼ同じであることが明らかとなっている。しかしながら、「exception.py」と呼ばれる悪意のあるペイロードが含まれていたことが判明した。このペイロードは「Hyperion」と呼ばれる難読化されたダウンローダを取得するPythonスクリプトとなっており、このダウンローダがさらにトロイの木馬型マルウェアである「W4SP Stealer」を取得し、実行する仕組みとなっていることがわかった。

このマルウェアにはブラウザからDiscordトークン、保存されたCookieおよびパスワード、クレデンシャルを収集する機能が備わっているとされている。さらに、電子メール アドレス、パスワード、請求情報の変更など被害者の行動を監視し、更新情報はDiscordチャンネルに送信されるとしている。

なお、Kaspersky LabはPyPIのセキュリティチームとSnyk Vulnerability Databaseに、これら2つのパッケージについて報告済みであると伝えている。