Dozens of PyPI packages caught dropping ‘W4SP’ info-stealing malware
2022/11/02 BleepingComputer — 研究者たちが発見したのは、PyPI レジストリ上において、情報窃取マルウェアをプッシュしている 20件以上の Python パッケージだ。それらの大半は難読化されたコードを含んでおり、感染させたマシンに上に W4SP Info-Stealer をドロップしていく。また、他のマルウェアは、教育を目的として作成されたと称している。

31 種類のタイポスクワットにより W4SP Info-Stealer をドロップ
研究者たちは、PyPI レジストリに登録され、人気のライブラリを模倣しているが、マシンを感染させた後に Info-Stealer ドロップする、20件以上の Python パッケージを確認している。
つまり、これらのパッケージを公開している脅威アクターたちは、本物のライブラリを取得しようとする開発者がスペルミスにより、誤って悪意のライブラリを取得することを期待して、意図的に既知の Python ライブラリに似た名前を付けている。
ソフトウェア・サプライチェーン・セキュリティ企業の Phylum は、昨日に発表したレポートの中で 29件の悪意のパッケージを明らかにしている。
- algorithmic
- colorsama
- colorwin
- curlapi
- cypress
- duonet
- faq
- fatnoob
- felpesviadinho
- iao
- incrivelsim
- installpy
- oiu
- pydprotect
- pyhints
- pyptext
- pyslyte
- pystyle
- pystyte
- pyurllib
- requests-httpx
- shaasigma
- strinfer
- stringe
- sutiltype
- twyne
- type-color
- typestring
- typesutil
Phylum は、例として typesutil を取り上げている。この、脅威アクターは、正当なライブラリから借用した健全なコードベースに対して、import ステートメントを介して悪意のコードを注入している。

Phylum の研究者たちは、「この攻撃は、既存の一般的なライブラリをコピーし、悪意の import ステートメントを、健全なコードベースに注入することから始まる。この攻撃者は、既存の正規パッケージをコピーすることで、パッケージの PyPI ランディング・ページを setup.py と README.md から生成することで、リンクなども含めて本物のような振る舞いを容易に得ることが可能だ。徹底的に検査しない限り、正当なパッケージだと思う人た多いだろう」と述べている。

このレポートにおいては、71,000文字以上に及ぶ難読化されたコードを分析する際に直面した課題が、きわめて詳細に説明されている。それは、研究者たちが踏破しなければならない、かなりの泥沼だったようだ。
最終的に研究者たちは、これらのパッケージがドロップするマルウェアは、Discord トークン/クッキー/保存されたパスワードを流出させる W4SP Stealer であると結論付けた。Pepy.tech の統計によると、これらのパッケージは累計で 5,700回以上もダウンロードされたとのことだ。
8月には Kaspersky Securelist の研究者たちが、Hyperion と呼ばれるオープンソースツールで難読化され W4SP をドロップする、同様の悪意の PyPI パッケージを分析している。
パッケージ名の入力は慎重に、そして、繰り返して確認する
さらに、ソフトウェアの開発/研究する Hauke Lübbers は、GyruzPIP というマルウェアを含む、PyPI パッケージ pystile と threadings を発見した。

しかし、彼によると、このマルウェアは [教育目的] のみで公開されている、evil-pip というオープンソース・プロジェクトに基づいているとのことだ。
BleepingComputer の観察によると、これら2つのタイポスクワットに含まれるコードは、はるかに単純であり、分析も容易である。具体的にいうと、それぞれの関数名として、stealing Chrome passwords/browser cookies/Discord tokens/uploading all of this data to a Discord webhook といった、意図した目的が明確に記載されているのだ。

PyPI 管理者に報告した Lübbers は、これらのプロジェクトが悪意の振る舞いを達成するには、おそらくプログラムの依存関係が含まれる必要があるだろうと、BleepingComputer に対して述べている。彼は、マルウェア作者が作成したとされる、2つのテストリポジトリ [1, 2] を指摘し、それらを GitHub に報告した。
PyPI や npm といったオープンソース・ソフトウェアの配布プラットフォームを利用して、開発者を狙うタイポスクワッティング攻撃が相次いでいる。そして今週も、新たなインシデントが発生したことをお知らせした。
なんというか、記事の最後のところの「そして今週も」の一言が、この問題の際限のなさを言い表していますね。PyPI に関しては、6月12日の「PyPI パッケージ keep に含まれるタイプミス:悪意の依存関係とパスワード窃取」や、8月9日の「PyPI に仕込まれた悪意の Python ライブラリ 10件:認証情報や個人情報などを窃取」、8月17日の「PyPI に悪意のパッケージ:Discord を改ざんしてパスワードなどを盗み出す」などがあります。よろしければ、Repository で検索も、ご利用ください。

You must be logged in to post a comment.