ハッカーがTanStackサプライチェーン攻撃を悪用、CrowdSecのプライベートリポジトリ170件を窃取

TanStack npmサプライチェーン侵害に関連する脅威アクターが、盗み出したGitHub OAuthトークンを使って、CrowdSecのプライベートリポジトリ約170件をクローンしたとされています。この事案により、ソースコードや限定的な連絡先情報、制限付きのAWS通知用クレデンシャルが流出しました。

CrowdSecによると、侵害の発端となったのは元従業員のアカウントでした。このアカウントは業務引き継ぎのため、正当な理由で同社のGitHub組織内に残されていたものです。

このアカウントは5月に侵害されました。CrowdSecは、リポジトリへの不正アクセスが発覚してから3日後にこのアカウントを削除しています。しかし、ソースコードアーカイブが流出していた事実が公表されたのは9月16日になってからでした。

サプライチェーン侵害がGitHubアクセスにつながった経緯

CrowdSecのインシデント分析によれば、UNC6780としても知られるTeamPCPというグループが、5月11日にTanStackのnpmエコシステムを侵害し、42個のパッケージにShai Huludと呼ばれる認証情報窃取マルウェアを仕込んでいたとされています。

このマルウェアは、開発者のクレデンシャルや認証トークンを狙っていたと報告されています。攻撃者はその後、退職予定だった従業員に紐づくGitHub OAuthトークンを利用し、5月22日の協定世界時05:52:29から06:01:33にかけてリポジトリをクローンしました。

クローンされたデータには、130件を超える公開リポジトリに加え、プライベートプロジェクトも含まれており、合計でおよそ170件のリポジトリに上りました。流出したアーカイブに含まれるGitのメタデータから、これらのリポジトリはカナダ・トロントに所在するIPアドレスからダウンロードされ、システムのタイムゾーンはUTC-4に設定されていたことが判明しています。

CrowdSecは、GitHubのサポートチームがOAuthトークンの利用履歴を復元し、該当期間のGit活動記録を提供したことを受け、今回の不正なGitHub上の活動を元従業員の侵害されたアカウントによるものと特定しました。

同社は、この事案において本番インフラ、顧客データベース、CI/CDパイプライン、オープンソースコードには改ざんや直接的なアクセスがなかった点を強調しています。

Image

CrowdSecは「このアカウントは、今回の流出につながったGitクローン操作にのみ使用されていました」と説明し、調査の結果、悪意のあるコミットやインフラの変更、ビルドパイプラインの改変は見つからなかったと付け加えています。

アクセスされたコードには、CrowdSecのSaaSコンソール、データサイエンス用スクリプト、自動化ツール、そして同社の合意形成アルゴリズム(Consensus Algorithm)が含まれていました。CrowdSecは、流出したコンソールのコードは文脈依存性が高く、機密情報は含まれていないと評価しています。ただし、ソースコードの流出が攻撃者による潜在的な弱点の特定を容易にし得ることは認めています。

CrowdSecの説明によると、IPアドレスをブロックリストに追加するタイミングを判断する合意形成アルゴリズムは、さまざまな自律システムに分散した複数の検証済みセキュリティエンジンからのシグナルに依存しています。

Securityupdate alerts

今回の流出により内部の検知しきい値が明らかになった可能性はあるものの、CrowdSecはこれらのしきい値を定期的に調整しており、システムを操作するには多大なリソースが必要になると説明しています。

CrowdSecは、流出したアーカイブの中に、依然として有効なAWS Simple Notification Serviceのクレデンシャルを1件確認しました。assertible-zapier-sns-senderという名前のこのトークンは、単一のSNSトピックへの通知発行にのみ利用が制限されていました。

身元不明の攻撃者が8月17日、IPアドレス23.234.84.102からこのクレデンシャルをテストし、開発環境および本番環境のトピックに対してAWSのGetCallerIdentityおよびListTopicsのリクエストを試みています。CrowdSecは、このロールに付与された権限が限定的だったため、それ以上のアクセスや横展開は防がれたと報告しています。

流出したアーカイブには、CrowdSecの利用者約150,000人のうち0.05%未満にあたる83人分のメールアドレスも含まれていました。また、2020年時点の潜在的投資家51人に関する情報(氏名、メールアドレス、出資の経緯を含む)も含まれていたとされています。CrowdSecは、影響を受けた関係者および所管当局に通知するとしています。

CrowdSecは、流出の発覚から48時間以内にクレデンシャルのローテーション、残存トークンの失効、フォレンジック調査の実施、そして公表対応を行いました。同社は、対応にあたってGitHub、GitGuardian、Aikido、Fuites Infoの協力があったとしています。

今回の事案は、侵害された開発者の依存関係が単一のワークステーションにとどまらず影響を広げ、攻撃者がクレデンシャルを窃取してプライベートなソースコードリポジトリにアクセスできてしまう実態を浮き彫りにしています。

CrowdSecは、今後同様の侵害を防ぐためには、より厳格なオフボーディング管理、トークン露出の削減、パッケージの継続的な精査、そしてインシデント対応プロセスの迅速化が不可欠になると指摘しています。

SOCのすべてのアラート調査時間を21分短縮。即座に対応できるIOCコンテキストでSOCを強化: TI LookupをSOCに統合する

翻訳元: https://gbhackers.com/hackers-exploit-tanstack-supply-chain-attack/

本記事は gbhackers.com の記事を翻訳・要約したものです。