スキャナが脅威になった

Trivyはセキュリティツールです。組織はコンテナイメージとコードリポジトリをスキャンして既知の脆弱性とハードコードされたシークレットを検出することで、ソフトウェア開発パイプラインを保護するために具体的に使用します。GitHub上で33,200個のスターを持つTrivyは、DevSecOpsエコシステムで最も広く導入されているセキュリティスキャンツールの1つです。このようなリーチにより、異常に高い価値のターゲットになりました。

Aqua SecurityのTrivy保守者であるItay Shakuryは、脅威アクターが盗まれた認証情報を使用して、trivy-actionとsetup-trivyという2つのコアGitHub Actionsコンポーネントのほぼすべてのタグ付けバージョンに悪意のある依存関係を強制的にプッシュしたことを確認しました。攻撃は木曜日の早朝に始まり、数時間検出されませんでした。その間、世界中の自動CI/CDパイプラインが侵害されたコードをプルして実行した可能性があります。

フォースプッシュの意味

フォースプッシュは、既存のコミットが上書きされるのを防ぐセキュリティメカニズムをオーバーライドするgit操作です。GitHub Actionsの場合、これは特に危険です。開発者がCI/CDワークフローを特定のTrivyアクションタグにピン留めする場合(再現性を確保することを目的とした一般的なセキュリティプラクティス)、タグが常に同じコードを指していることを信頼します。これらのタグに悪意のあるコミットを強制的にプッシュすると、この仮定が静かに破られます。パイプライン構成は変更されていないように見えますが、CI/CD環境が提供するすべての権限で攻撃者が制御するコードを実行します。

悪意のあるコードが行ったこと

侵害されたタグの分析は、攻撃者がTrivyの正規の依存関係をCI/CDランナー環境内でコードを実行するように設計された悪意のある置き換えで置き換えたことを示しています。目的はシークレットへのアクセスでした。APIトークン、クラウド認証情報、署名キー、および開発者がパイプラインに日常的に渡す他の機密値です。

GitHub Actionsワークフローで実行される侵害されたTrivyアクションは、ワークフローがアクセスできるすべてのものにアクセスできます。多くの組織では、本番環境デプロイ認証情報、クラウドプロバイダー認証、アーティファクト署名キー、およびソースコードリポジトリが含まれます。単一の流出の潜在的なブラスト半径は、クラウドインフラストラクチャの侵害、データ侵害、および本番ソフトウェアへの悪意のあるコードの挿入に拡大する可能性があります。

対応とより広いコンテキスト

Aqua Securityは侵害が確認されるとすぐに迅速に行動し、認証情報をローテーションし、影響を受けたすべてのタグに正規のコードを復元しました。チームはすべてのユーザーに、侵害ウィンドウ中にTrivyアクションを実行したパイプラインを潜在的に影響を受けたものとして扱い、アクセス可能なすべてのシークレットを直ちにローテーションすることをお勧めしました。

セキュリティコミュニティのコンセンサス:変更可能なタグ名ではなく、特定のコミットSHAハッシュにGitHub Actionsをピン留めします。タグは強制的にプッシュできます。コミットハッシュは検出なしで無音で置き換えることはできません。この既知のベストプラクティスは導入が遅れており、このインシデントは組織のCI/CDポリシー変更を加速する可能性があります。この攻撃は、現代のソフトウェア開発を支える オープンソースツールを対象とするサプライチェーン侵害の増加する一覧への最新のエントリです。これは減速の兆候を示していない傾向です。

この記事はArs Technicaのレポートに基づいています。元の記事を読む

Originally published on