
攻撃者は、開発者の機密データと暗号資産ウォレットを盗むため、人気のあるelementary-dataパッケージの悪意あるバージョンをPython Package Index (PyPI)にプッシュしました。
危険なリリースは0.23.3であり、パッケージのワークフローがコードからイメージを作成し、デプロイのためにそれをコンテナレジストリにアップロードするため、Dockerイメージにも拡張されました。
コミュニティメンバーのcrisperikは悪意あるアップロードを発見し、土曜日にプロジェクトのGitHubで問題を報告し、メンテナーに警告して被害期間を短縮しました。
クリーンな代替版であるelementary-data 0.23.4がユーザーにプッシュされました。しかし、悪意あるバージョンをダウンロードしたユーザーは引き続き危険にさらされていました。
elementary-dataパッケージは、dbtのオープンソースのデータ可観測性ツールで、主にデータパイプラインを扱うデータ/アナリティクスエンジニアが使用しています。dbt(Data Build Tool)エコシステムで人気のあるツールであり、PyPIで月間110万ダウンロード以上です。
StepSecurityの研究者によって発表されたインシデント分析によると、攻撃者はメンテナーのアカウントを侵害するのではなく、プロジェクトのワークフローの脆弱性を利用しました。これは不正なアップデートでより一般的な方法ではありません。
攻撃者はGitHub Actionsスクリプトインジェクション脆弱性を利用したプルリクエストに悪意あるコメントを投稿し、ワークフローが攻撃者が制御するシェルコードを実行させました。
これにより、ワークフローのGITHUB_TOKENが公開され、署名されたコミットとタグ(v0.23.3)を偽造し、プロジェクトの正当なリリースパイプラインをトリガーするために使用されました。
パイプラインはバックドアを含むパッケージをPyPIに、悪意あるイメージをGitHub Container Registryにビルドして公開し、公式リリースのように見せかけました。

悪意あるリリースはelementary.pthファイルを含み、起動時に自動的に実行され、以下のタイプのデータを対象とするシークレット盗聴機能を読み込みました:
- SSHキー、Git認証情報、クラウド認証情報(AWS/GCP/Azure)
- Kubernetes、Docker、CIシークレット
- .envファイルと開発者トークン
- 暗号ウォレットファイル(Bitcoin、Litecoin、Dogecoin、Zcash、Dash、Monero、Ripple)
- システムデータ(/etc/passwd、ログ、シェル履歴)
研究者は、「PyPIにアップロードするリリースパッケージワークフローには、ビルド・プッシュDockerイメージジョブもある」ため、同じペイロードがプロジェクトのDockerイメージに到達したと述べています。
StepSecurityによると、ピン留めされたバージョンを使用しなかったシステムは、バックドアを含むビルドを自動的にプルしました。
悪意あるリリース(elementary-data==0.23.3)とタグ(ghcr.io/elementary-data/elementary:0.23.3および:latest)のイメージをダウンロードした人は、すべてのシークレットをローテーションし、既知の安全な状態から環境を復元する必要があります。
Mythosが見つけたもののうち99%はまだパッチが当たっていません。
AIが4つのゼロデイを1つのエクスプロイトにチェーンしました。これはレンダラーとOSの両方のサンドボックスをバイパスしました。新しいエクスプロイトの波が来ています。
Autonomous Validation Summit(5月12日&14日)では、自律的で文脈に富んだ検証がどのようにエクスプロイト可能なものを発見し、コントロールが機能することを証明し、修復ループを閉じるかをご覧ください。