ユビキタスなPythonライブラリであるelementary-dataは、機密の開発者テレメトリーの流出の導管として浮上しています。妥協されたバージョンはPyPIリポジトリだけでなく、プロジェクトの公式Dockerイメージにも浸透し、ユーザーベースの一部が日常的なアップデートを通じて無意識のうちに汚染されたビルドを摂取する原因となりました。
危険なリリースはバージョン0.23.3として指定されました。主にデータエンジニアとアナリストによってdbtパイプラインの監視に利用されるこのパッケージは、PyPIから月間110万以上のダウンロード数を誇る強力なプレゼンスを備えています。この異常は、crisperikというペンネームで活動するコミュニティメンバーによって最初に特定されました。彼は、GitHub上での疑わしい公開をフラグ付けしました。対応として、メンテナーらはサニタイズされたバージョン0.23.4を公開しました。ただし、すでに汚染されたビルドを統合していた環境は危険にさらされたままでした。
StepSecurityによるフォレンジック分析によると、この侵害はメンテナー認証情報の妥協を必要としませんでした。代わりに、この攻撃はGitHub Actions内の脆弱性を悪用しました。プルリクエストへの悪意のあるコメントがワークフローに無関係なシェルコードを実行させました。この手段を通じて、攻撃者はGITHUB_TOKENを獲得し、v0.23.3に対して署名されたコミットとタグを偽造し、その後、正当なリリースパイプラインをトリガーしました。
自動リリースメカニズムは感染したパッケージをPyPIに、対応するDockerイメージをGitHub Container Registryに配布しました。その結果、このバージョンは本物性のあらゆる特徴を備えていました。その内部に隠されていたのは、elementary.pthという名前のファイルで、初期化時に自律的に実行されて認証情報を盗む「スティーラー」をデプロイしていました。
悪意のあるペイロードはSSHキー、Git認証情報、AWS、GCP、Azure クラウドシークレット、KubernetesとCI設定、.envファイル、および開発者トークンを探索するよう設計されていました。さらに、ビットコイン、ライトコイン、ドージコイン、Zcash、Dash、Monero、Rippleを含む、幅広い暗号資産ウォレットをターゲットにしていました。
StepSecurityは、ピンされたバージョン依存性を持たないシステムが自動的に妥協されたビルドを取り込んだ可能性があることを警告しました。elementary-data 0.23.3のユーザー、およびghcr.io/elementary-data/elementary:0.23.3または:latestタグが付いたイメージを利用しているユーザーは、すべての認証情報をローテーションし、環境を検証済みのクリーンな状態に復元することを強く求められています。