CrowdSecが大規模ソースコード流出を認める

著名なサイバーセキュリティ企業CrowdSecが、先日重大なデータ侵害を認めました。攻撃者は約170件の非公開GitHubリポジトリからソースコードを窃取することに成功していました。悪意ある攻撃者は2026年5月22日、まずこの独自コードを複製しました。犯人は、最近退職した開発者の侵害されたアカウントを悪用していました。衝撃的なことに、同社はこの深刻なインシデントに9月16日までまったく気づいていませんでした。窃取されたアーカイブが悪名高いハッキングフォーラムに出現したことで、ようやくこの恐るべき事実が明らかになったのです。

迅速だった窃取プロセスの経緯

CrowdSecによる包括的な社内調査によると、この大規模なデータ窃取に要した時間はわずか9分強でした。具体的には、窃取は協定世界時05:52:29から06:01:33の間に発生しています。170件の非公開リポジトリに加え、この不正なアーカイブには130件を超える公開リポジトリも含まれていました。したがって、約300件のリポジトリが侵害されたとする広範な報道は、技術的には正確だと言えます。しかし、この特定のコードの相当部分は、事前にすでに公開されていたものでした。

当然ながら最大の懸念は、極めて機密性の高い非公開データに関するものです。窃取されたアーカイブには、CrowdSec SaaSコンソールの基盤となるソースコードが含まれていました。さらに、各種AWSクラウド手順、専用コネクタ、自動化スクリプト、高度なデータ処理モデルも含まれていました。同社独自のIPアドレスレピュテーションシステムに不可欠な内部コンポーネントも露出していました。それでもなお、同社は侵入者がコアインフラやデータベースにアクセスすることは一切なかったと強く主張しています。攻撃者は既存のソースコードを改変したり、確立されたCI/CDパイプラインを妨害したりすることもありませんでした。

侵入手法の解明

窃取されたアーカイブ内に残されていたデジタルの痕跡が、最終的に攻撃者の侵入方法を明らかにしました。あるGit設定ファイルに、「gho_」で始まる侵害済みOAuthトークンを含むURLが残されていたのです。その後、GitHubはCrowdSecに対し、このインシデントの正確な発生時間帯に対応するアクティビティログを提供しました。この証拠を用いて、同社はこの大規模なクローン作成操作を、特定の開発者のアカウントと最終的に結び付けました。この従業員は、侵害発生の直前にCrowdSecを退職していました。

経営陣はすでに、この元従業員の社内アクセス権限の大部分を失効させていました。しかし、CrowdSecのGitHub組織へのアクセス権については、一時的に維持していたのです。退職は完全に円満なものであり、この開発者は未完了の業務を終えるために一時的なアクセス権を単に要請していたにすぎませんでした。その結果、管理者は5月25日、このアカウントをGitHub組織から完全に削除しました。この削除は、不正なリポジトリのクローン作成が行われてからちょうど3日後のことでした。この時点で、CrowdSecはこの静かなデータ流出について一切把握していませんでした。

TanStackサプライチェーン攻撃が果たした役割

このサイバーセキュリティ企業は、攻撃者がこの重要なOAuthトークンを、この開発者の個人用マシンから直接盗み出した可能性が高いと考えています。この窃取は、5月初旬に発生した悪名高いTanStackサプライチェーン攻撃に起因する可能性が高いとみられています。5月11日、悪意ある攻撃者は42種類の異なる@tanstack/*パッケージの、深刻な侵害を受けたバージョン84個をnpmレジストリに直接公開しました。この埋め込まれたマルウェアは、GitHubトークン、SSHキー、AWSおよびGCPの認証情報を積極的に収集していました。さらにKubernetes、Vault、npmのトークンも標的とし、これらの貴重な機密情報を外部のコマンドサーバーへ送信していました。

TanStackは、これら84個の悪意あるバージョンの存在を正式に認めています。同社は詳細な事後分析報告を公開し、これらの危険なパッケージが5月11日の短い時間帯に出現したことを確認しました。幸いにも、管理者は速やかにこれらの感染パッケージを流通から排除しました。その後の厳密な監査において、CrowdSecは自社のリポジトリ履歴内に、これらの侵害を受けたTanStackバージョンの痕跡を一切発見できませんでした。したがって同社は、当初の侵害は元従業員のローカルマシン上で発生したものであり、CrowdSecの安全なビルドインフラの外部で起きたことだと結論付けています。

窃取されたアクセストークンの脅威

この不安を掻き立てるインシデントは、窃取されたアクセストークンに関する恐るべき現実を強く浮き彫りにしています。攻撃者が十分な権限を持つ有効なトークンを保有している場合、二要素認証(2FA)、ハードウェアセキュリティキー、複雑なパスワードといった従来のセキュリティ対策は、まったく役に立たなくなってしまいます。CrowdSecは、2FA、パスキー、物理セキュリティキーへの依存を徹底していたと強調しています。それでもなお、この有効なOAuthトークンは、新たな対話的認可リクエストを一切発生させることなく、侵入者に非公開リポジトリを自由に読み取る能力を与えていました。

徹底した調査により、窃取されたコード内に隠されていた、もう一つの有効な機密情報が発見されました。あるAWSトークンは、SNS通知サービスへの厳格に制限されたアクセス権を付与するもので、単一の特定トピックへのメッセージ公開のみを許可するものでした。正体不明の人物が、最初のリポジトリ窃取からほぼ3か月後の8月17日に、このトークンの権限を探索していました。幸いにも、CrowdSecは攻撃者がこの特定のトークンを使ってインフラ内でさらなる横展開を達成することは一切なかったと確信を持って断言しています。

個人データへの影響の再評価

最終的な調査報告書では、個人データ露出に関する当初の評価についても重要な修正が必要となりました。当初、CrowdSecは名前やユーザーデータの流出は一切なかったと自信を持って公表していました。しかし、より詳細な精査により、83名の特定ユーザーのメールアドレスが判明しました。データサイエンスチームは以前、これらのアドレスを詳細な製品パフォーマンス分析に利用していました。侵害を受けたアーカイブには、2020年まで遡る51名の潜在的投資家の氏名、メールアドレス、投資に関する文脈情報も、意図せず含まれていました。その結果、同社は影響を受けたすべての個人および関連する規制当局に、直ちに通知することを正式に約束しています。

重要な点として、CrowdSecは窃取されたアーカイブ内に、顧客のパスワードやクライアントのログを一切発見していません。ユーザーアカウントへの直接的な不正アクセスを許すような機密データも発見されませんでした。同社はまた、公開済みソフトウェアの悪意ある改変や、本番インフラの侵害を示唆する証拠も見つからなかったことを確認しています。したがって、確認されている唯一の影響は、非公開ソースコードと、それに関連する厳格に限定された一部データの不正コピーにとどまっています。

この深刻なインシデントを受け、CrowdSecは直ちに、コードおよびインフラを扱うすべての従業員ワークステーションへのエンドポイント検知・対応(EDR)ソフトウェアの導入を義務付けました。同社はパッケージ監視プロトコルを大幅に強化し、退職する従業員のアカウント無効化手続きを全面的に見直すことを決定しました。この元開発者を巡る状況は、特に多くの教訓をもたらすものとなりました。経営陣が一見合理的な理由から一時的にアクセス権を正式に維持していた間、監視の目が行き届かなかったあの9分間が、攻撃者に独自のコードベースのほぼ全体を抜き取る十分な時間を与えてしまったのです。結局のところ、同社がこの壊滅的な窃取の発生に気づくまでには、実に117日もの日数を要しました。

翻訳元: https://meterpreter.org/crowdsec-source-code-leak-tanstack/

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