調査の結果、侵入の原因はGitHub Actionsのワークフローの脆弱性でした。攻撃者はリポジトリをフォークし、悪意あるコマンドを注入することでワークフロー内の環境変数を取得。そこに含まれていた認証情報を抜き出すことに成功しました。
その後、盗んだ認証情報を使って複数のプライベートリポジトリへアクセスし、内容をダウンロードしていたことが確認されています。Grafanaは侵入を検知後、影響を受けたトークンを直ちに無効化し、脆弱なワークフローを停止しました。
重要なのは、この攻撃が破壊活動ではなくデータ取得型だった点です。調査では、リポジトリの改ざんやマルウェアの設置などは確認されていません。
ソースコードを入手した後、攻撃者はGrafanaに連絡を取り、支払いと引き換えにコードを公開しないという条件で身代金を要求しました。
この手法は「pay‑or‑leak(支払わなければ公開)」と呼ばれる恐喝モデルで、近年サイバー犯罪で急増しています。従来のランサムウェアのようにシステムを暗号化するのではなく、機密データを盗んで公開をちらつかせることで企業に支払いを迫ります。
Grafanaはこの要求を拒否しました。
同社の調査では、以下の点が確認されています。
つまり攻撃者が得たものは主にソースコードのみで、顧客情報やサービス停止といった重大な影響はありませんでした。そのため、企業として攻撃者に報酬を与えるべきではないという判断につながったとみられます。
またGrafanaは、流出した認証情報の無効化や追加のセキュリティ対策を実施したと説明しています。
今回の侵入について、特定のハッカー集団が関与したという確定情報は公開されていません。帰属は依然として不明です。
ただし、セキュリティ研究者はこの事件を、データ窃取型の恐喝で知られるグループの手口と比較することがあります。その代表例がShinyHuntersです。
このグループは企業ネットワークに侵入してデータを盗み、公開しない代わりに金銭を要求する「pay‑or‑leak」型の攻撃で知られています。暗号化型ランサムウェアとは異なり、盗んだデータを売却したりリークサイトで公開したりすることで利益を得るモデルです。
ただし、Grafanaの事件をShinyHuntersが実行したという証拠は現時点で確認されていません。
Grafanaの説明によれば、このインシデントによる影響は限定的でした。
確認された被害は、GitHubのプライベートリポジトリからのソースコード取得に限られています。
顧客データが流出していなくても、ソースコードの窃取は無視できないリスクです。プライベートリポジトリには次のような情報が含まれる可能性があります。
そのため近年、攻撃者は企業の本番システムだけでなく、GitHubリポジトリやCI/CDパイプライン、開発用トークンといった開発インフラを積極的に狙うようになっています。
Grafanaのケースは、自動化ワークフロー内の1つのトークンが漏れるだけで、機密コードへのアクセスが可能になるという現実を示しました。クラウドベースの開発基盤に依存する企業が増える中、開発者の認証情報や自動化パイプラインの保護は、ソフトウェア供給網セキュリティの中核課題になりつつあります。