GitHub

GitHubアクションtj-actions/changed-filesの侵害は、それを使用している23,000のプロジェクトのごく一部に影響を与えたに過ぎず、サプライチェーン攻撃によって秘密が暴露されたリポジトリは218に過ぎないと推定されている。

数が少ないとはいえ、いくつかのリポジトリは非常に人気があり、さらなるサプライチェーン攻撃に使われる可能性があるため、潜在的なセキュリティ上の影響は依然として大きい。

とはいえ、暴露されたリポジトリの所有者は、攻撃者が漏えいを悪用する機会を得る前に、秘密をローテーションするために早急に行動を起こす必要がある。

GitHubサプライチェーン攻撃

GitHub Action’ tj-actions/changed-files’は、2025年3月14日に悪意のあるコミットを追加した攻撃者によって侵害され、Runner WorkerプロセスからリポジトリにCI/CDシークレットがダンプされました。

ワークフローのログが一般公開されるように設定されていた場合、これらのシークレットは誰でもアクセスして読むことができた。

その後の調査で、この攻撃は「reviewdog/action-setup@v1」GitHubアクションを狙った別のサプライチェーン攻撃によって可能になった可能性が高いことがわかった。

この侵害により、「tj-actions/changed-files」上で変更を実行する権限を持つボットが使用していたGitHubパーソナル・アクセストークン(PAT)が漏洩した可能性がある。

暴露された割合は小さい

このサプライチェーン攻撃による機密漏洩を監視していたEndor Labsが共有したデータによると、このインシデントの影響は限定的であるにもかかわらず、依然として大きいようだ。

3月14日午後4時(UTC)から3月15日午後2時(UTC)までの間に、4,072の異なる組織にまたがる5,416のリポジトリが、標的となったGitHub Actionを参照していた。

Endorの報告によると、一部のリポジトリには350,000を超えるスターと63,000を超えるフォークがあるため、その侵害は多くのユーザーに影響を与える可能性がある。

Repositories with references to the breached GitHub Action
侵入されたGitHub Actionを参照しているリポジトリ
Source:Endor Labs

GitHub Actionを参照している5,416のリポジトリのうち、614が指定された期間内にそれぞれのワークフローを実行し、その多くは複数回実行されている。

これらの614件のうち、218件が実際にコンソールログにシークレットを出力し、残りはシークレットの漏洩を防ぐフェイルセーフとして機能する「ベストプラクティスの推奨」に従うことで保護されているとEndorは述べている。

「アクションを実行したからといって、必ずしも認証情報がコンソールログに出力されたとは限りません」とEndor氏は説明する

「いくつかのリポジトリはベストプラクティスの推奨に従い、mutableタグの代わりにコミットSHAを参照していた。

「また、攻撃者がすべてのバージョンタグを改ざんし、悪意のあるコミットを指すようにする前に実行されたものもある。

Workflow runs that exposed secrets
秘密を暴露したワークフローの実行
Source:Endor Labs

ほとんどの場合、公開されたシークレットはGitHubのインストール・アクセストークンで、Endorによれば、このトークンは24時間以内に失効するため、攻撃者は限られた時間しか悪用できない。

しかし、DockerHub、npm、AWSの認証情報が流出したケースもあり、より高いセキュリティリスクがある。

Secrets leaked from the attack
攻撃から流出した秘密
Source:Endor Labs

最初のReviewdogの侵害がtj-actions以外の侵害につながったのか、またtj-actionsの攻撃によって公開された218のプロジェクトが侵害を受けたのかについては、まだ疑問が残る。

GitHub Actionsを使用している方は、GitHubのセキュリティ強化に関するアドバイスを確認し、機密情報が流出する可能性のあるファイルやフォルダへのアクセスを制限することを強くお勧めします。

.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:10px 20px; width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; text-align: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px; width: 100%; } .ia_button { width: 100%; } .

攻撃の93%を支えるMITRE ATT&CK©テクニック・トップ10

1,400万件の悪意のあるアクションの分析に基づき、攻撃の93%の背後にあるトップ10のMITRE ATT&CKテクニックとその防御方法をご覧ください。