PyPI の “aiocpa” は悪意のライブラリ:Telegram Bot で Crypto Keys を盗み出す手口とは?

PyPI Python Library “aiocpa” Found Exfiltrating Crypto Keys via Telegram Bot

2024/11/25 TheHackerNews — Python Package Index (PyPI) リポジトリの管理者が隔離したのは、Telegram 経由で秘密鍵を盗み出すための悪意のコードを埋め込んだ、“aiocpa” パッケージのアップデート版である。この問題のパッケージは、Crypto Pay API の同期/非同期クライアントとして説明されている。2024年9月にリリースされた “aiocpa” パッケージは、現在までに 12,100 回もダウンロードされている。今回の Python ライブラリの隔離により、クライアントにおけるインストールが防止され、メンテナーによる変更もできなくなった。

先週に Phylum が、今回のソフトウェア・サプライ・チェーン攻撃の詳細を共有した。このサイバー・セキュリティ組織 によると、今回の悪意のパッケージの作成者は、ライブラリの GitHub リポジトリをクリーンな状態に保ち、検出を回避しながら、PyPI には悪意のアップデートを公開したとのことだ。

この不正なアップデートを背後で操ったのは、オリジナルの開発者なのか、それとも、PyPI 認証情報を侵害した別の脅威アクターなのかは、現在のところ不明である。

この悪意の活動の兆候が、最初に発見されたのは、”aiocpa” のバージョン 0.1.13 である。このバージョンに取り込まれたのは、パッケージがインストールされた直後に、難読化されたコードの塊をデコードして実行する、Python スクリプト “sync.py” への変更である。

Crypto Keys via Telegram Bot

Phylum は、「この特定の塊は、再帰的にエンコードされ、50 回も圧縮されている。被害者の Crypto Pay API トークンを、Telegram ボットをキャプチャして、送信するために使用されている」と述べている。

Crypto Pay の宣伝文句に含まれる、「ユーザーが暗号通貨で支払いを受け取り、API を使用してユーザーにコインを転送するための、Crypto Bot (@CryptoBot) に基づく支払いシステムである」という部分は注目に値する。

このインシデントが浮き彫りにするのは、関連するリポジトリを確認するだけではなく、パッケージをダウンロードする前に、ソースコードをスキャンすることの重要性である。

Phylum は、「このマルウェアが証明したのは、クリーンなソース・ポジトリを意図的に維持する攻撃者が、悪意のパッケージをエコシステムに配布できるという点だ。この攻撃が思い出させるのは、パッケージの過去の安全記録が、継続的なセキュリティを保証するものではないという教訓である」と付け加えている。