深いネイビーの背景に描かれた抽象的なテクニカルイラスト:左側では、光るアンバー色の鍵のシルエットが1本の縦糸から吊り下がり、そこから細い横糸が右へ伸びて、奥行きへと遠ざかる背の高いすりガラスパネルの壁へと続いている。パネルのうち3枚は背後から温かなアンバー色に光り、残りはスチールブルーのまま。小さな目盛りが付いた繊細なシアンの弧が、左下から壁を横切って上へとのぼっていく。人物、ロゴ、読める文字は一切描かれていない。OrcaRouterのロゴは右下の白い帯の中にある。
AI Safety Incidents

CrowdSec、オフボーディングの不備により9分で170のプライベートリポジトリを失う

著者

Elias Hawthorne

公開日

最新モデル · 20すべてのモデルを見る →
ベンチマーク:Artificial Analysis · 毎日更新
すべての記事に戻る

2026年5月22日、UTC 05:52:29から06:01:33の間に、カナダのトロントにあるIPアドレスから作業していた何者かが、CrowdSecを退職したばかりの開発者のGitHubアカウントを使い、このフランスのセキュリティ企業の非公開リポジトリ約170件をコピーした。CrowdSecはそのタイムラインを自社のインシデント報告で2026年9月18日に公開した — AIインシデントアーカイブがこの記録に割り当てた日付であり、9月16日に同社のソースコードのアーカイブがpwnforumサイバー犯罪マーケットプレイスに出現した後のことだった。アカウントがまだ使えたのは、開発者が何らかの作業を終えられるよう、同社が意図的に開発者のGitHubアクセスを開いたままにしていたためだ。その背後にあったノートPCは、TeamPCPがTanStackのnpmパッケージを通じて広めた認証情報窃取ワームMini Shai-Huludに、11日前に感染していた。 この記述は2026年9月18日に提出された記録から作成されており、文書化されたインシデントの完全なセット — 各項目には独自の重大度、信頼度等級、異議ありフラグ、情報源が付されている — はOrca AI Incident Archiveに収められており、ここではこの事例を同じ年の他のサプライチェーン事例と並べて読むことができる。

窃取はコードにとどまらなかった。CrowdSecの報告書はまた、内部のデータサイエンス監視リストから取得された83人のユーザーのメールアドレス(大半はGmailアカウント)を開示し、さらに2020年時点の潜在投資家51人の姓名、メールアドレス、投資に関わる文脈情報も明らかにした。約15万人のユーザーに対して83件のアドレスはごく一部に過ぎないが、ゼロではない。最高経営責任者(CEO)のフィリップ・ユモー氏は、投資家たちにだけ個人的な謝罪の言葉を向けた。「皆様の氏名とメールアドレスが流出したことは、皆様ご本人および所管当局と直接話し合うべき問題であり、この点について私個人としてお詫び申し上げます」

9分が実際に要したもの

Dark navy HTML timeline card with a faint grid, kicked 'crowdsec · 22 may to 18 september 2026 · times as published' and headed 'The nine minutes, and the 117 days after'. Two columns of timestamped rows. Left, headed 'Upstream, then the copy': 11 May, 84 malicious versions across 42 TanStack npm packages ship the Mini Shai-Hulud credential harvester; 22 May 05:52:29, the copy window opens with a first fetch logged at 05:52:32.138 UTC; 22 May 06:01:33, the window closes with about 170 private repositories copied from an IP in Toronto, machine timezone UTC-4; 25 May, the former developer's account is removed from the GitHub organisation, three days after the copy. Right, headed 'Before disclosure, then discovery': 17 August, the exposed AWS SNS token is probed from 23.234.84.102 and reaches no further than a single topic; 16 September 17:45, an archive of CrowdSec source code is published on the pwnforum marketplace; 16 September 20:00, the Fuites Info team contacts CrowdSec and a crisis cell is stood up; 17 September, token rotation begins and GitHub support traces the token's lifecycle; 18 September, the full report discloses 83 user email addresses and the details of 51 potential investors from 2020. A highlighted band reads 'The account was left open on purpose so a departing developer could finish some work. It was revoked on 25 May, after the repositories were already gone.' A footer cites CrowdSec's analysis of 18 September 2026. The OrcaRouter logo sits in a white strip at the bottom right.

GitHub が CrowdSec に返した Git 記録は、05:52:32.138 UTC に同社のリポジトリの1つに対するフェッチで始まり、アクティビティは 06:01:33 に停止している。アーカイブにある約170のプライベートリポジトリという数字は、その Git データに由来する。Humeau は自身の記事で、露出は「CrowdSecurity のソースコードに限られ、130以上の公開リポジトリと多数のプライベートリポジトリを含む」と説明している。DevOps.com は9月24日にこのインシデントを報じ、公開・非公開を合わせた数を約300リポジトリとした——CrowdSec 自身のプライベートリポジトリの数字より多く、同社の報告書には記載されていない数である。

内容は、急成長するSaaS企業にとってありふれた構成物だった。Webコンソールのソースコード、デプロイと自動化のスクリプト、そして分析を支えるデータサイエンスのスクリプトとモデルである。CrowdSecが挙げる最も機密性の高い項目は、どのIPアドレスをブロックリストに載せるかを決める「コンセンサスアルゴリズム」だ。このアルゴリズムのアーキテクチャはすでに公開されていたが、その多様性と検出しきい値は公開されておらず、今では知られてしまっている。Humeauは、しきい値は移り変わる標的であり、コンセンサスを誘導するには依然として大規模で高コストなサーバー群が必要だと主張する。同社は、しきい値は調整可能であり、不一致を監視していると述べている。

認証情報は、もっと悪い事態になり得た部分だった。「ほぼクリーンな状態だった」とHumeau氏は書いている。ダンプの中で唯一使用可能だったシークレットは、単一のトピックへの公開に限定されたAWS Simple Notification Serviceトークンだった。誰かが2026年8月17日に、IP 23.234.84.102からそれを試し、GetCallerIdentityとListTopicsをdevトピックとenvトピックの両方に対して呼び出したが、それ以上は進めなかった。コード内の他のほとんどのトークンとシークレットは、漏洩前に失効またはローテーションされていた。CrowdSecは、自社のインフラストラクチャとデータベースにはアクセスされておらず、オープンソースプロジェクト、そのプライベートソース、またはビルドパイプラインのいずれにおいてもコードは変更されていないと述べている。

Dark navy HTML card headed 'What left the building', kicked 'the exposure, as crowdsec counted it'. Five tiles across the top. 170, private repositories copied in the nine-minute window per the Git activity GitHub returned, noted 22 May 2026 05:52 to 06:01 UTC. 130+, public repositories the CEO says were also in the leak alongside many private ones, with a note that DevOps.com puts the combined figure at about 300. 83, user email addresses mostly Gmail drawn from a data-science monitoring list, out of roughly 150,000 users. 51, potential investors from 2020 with names, addresses and investment context, described as the group the CEO apologised to personally. 1, usable credential in the dump, an AWS SNS token scoped to one topic, probed 17 August from 23.234.84.102. Four smaller tiles below read: console source, the SaaS web console not open-sourced and not intended to be; data-science scripts and models, of little use without the data that trains them; automation scripts, deployment, QA and Slack bots that the company calls no-risk; consensus thresholds, the diversity and detection limits that were not public before. A highlighted band reads 'No infrastructure, no databases, no code changes, CrowdSec's finding. The data-science scripts and models and the blocklist consensus thresholds went with the source.' A footer cites CrowdSec on 18 September 2026, Dark Reading on 22 September and DevOps.com on 24 September. The OrcaRouter logo sits in a white strip at the bottom right.

なぜアカウントがまだ機能していたのか

オフボーディングの不備は小さく、具体的なものだ。開発者が去る時点で、CrowdSecはすでに同氏の他のアクセス権を削除していた。GitHubアカウントが残されていたのは、Humeauが書いているように、「開発者とは良好な関係で別れ、彼はいくつかの作業を仕上げたかった」からだ。アカウントは5月25日、リポジトリがすでにコピーされた3日後にGitHub組織から削除された。

CrowdSecは当時、その窃取を把握できなかった。その理由は正確に述べておく価値がある。当該のOAuthトークンは、組織の監査ログにも、現役メンバーいずれかの監査ログにも存在しておらず、誰かが調査に乗り出した頃にはすでに存在しなくなっていた。つまり、作成され、使用され、期限切れとなったものの、同社が読み取れる痕跡を一切残さなかったのだ。CrowdSec自身も指摘しているとおり、GitHubはエンタープライズプランを利用していない組織について、Gitアクティビティを直近7日間のローリングウィンドウでしか保持しない。突破口となったのはGitHubのサポートチームであり、トークンの全ライフサイクルを追跡し、コピーが行われた前後2時間のウィンドウにおけるGitアクティビティを提供した。こうして同社は、退職した従業員のアカウントに行き着いたのである。TanStackへの手がかりも、同じ作業から得られたものだった。

漏洩したアーカイブには、それ自体の証拠が含まれていた。その中の .github/.git/config には、oauth2:gho_xxxxxxxxx@github.com という形式の origin URL が記録されており、この資格情報を GitHub OAuth トークンと特定し、TeamPCP が文書化した手法と一致していた。CrowdSec は、開発者のマシンを悪意のあるパッケージについて調査したが、自社のリポジトリにはバックドア入りの TanStack のバージョンは一つも見つからなかったと述べている — 同社はこの結果を、無罪を証明するものではなく決定的でないものだと説明している。

誰がやったのか、そしてその帰属がどれほど確かなのか

CrowdSecは、このダウンロードを「BreachForumの創設者の一人であり、メンバーのdiencracked」によるものとし、このメンバーのアドレスをdiencracked@cock.li、トロントのIPから運用され、マシンのタイムゾーンはUTC-4に設定されていたとしている。同社は同じ文の中で自ら留保を付け加えている。「少なくともGitのデータが示しているのはそういうことだ」。Dark Readingの9月22日の報道も、BreachForumの創設者とdiencrackedというハンドルへの同じ帰属を伝えている。

上流のキャンペーンは、その背後にある主体よりも詳しく記録されている。TanStackのパッケージは2026年5月11日にバックドアを仕込まれ、42個のパッケージにまたがる84個の悪意あるバージョンが公開された。The Hacker Newsはこの侵害をCVE-2026-45321として記録し、認証情報窃取ペイロードについてTanStack自身のアドバイザリを引用している。CrowdSecのタイムラインによれば、5月22日、リポジトリのコピーと同じ日に、CrowdSecがUNC6780として追跡するTeamPCPが、Mistral AIに属するリポジトリを侵害したと主張した。

何が確立されており、何が確立されていないのか

Dark navy HTML card headed 'Established, asserted, and simply absent', kicked 'crowdsec · what the record supports', subtitled 'The archive grades this record confidence A, disputed false, real harm true. That grade covers the event; it does not extend to every claim made about it.' Three columns. 'Established', green: about 170 private repositories copied on 22 May 2026 in a nine-minute window from GitHub's own Git activity records; the account belonged to a departed developer and was revoked 25 May, three days later; 83 user email addresses and the details of 51 potential investors from 2020 appeared in the published archive; no infrastructure or database access and no code altered, per CrowdSec's audit. 'Asserted, not proven', amber: that the laptop was infected through TanStack, since CrowdSec's dev machines came back clean and its repository scan was inconclusive; which poisoned package arrived and when, which CrowdSec says it did not establish; that the downloaders were a BreachForum founder and the member diencracked, offered as what the Git data shows. 'Missing from the record', grey: GitHub's own findings, since support traced the token but no GitHub statement appears in the report; any arrest, charge or court record tying a named person to the copy; any independent forensic examination of CrowdSec's systems. A highlighted band reads 'The strongest evidence in the case is a Git fetch log inside a two-hour window GitHub handed over on request. The weakest is an attribution hedged in the same sentence that makes it.' A footer cites CrowdSec on 18 September, The Hacker News on 19 September and Dark Reading on 22 September. The OrcaRouter logo sits in a white strip at the bottom right.

確認された事項: 2026年5月22日、退職した開発者の依然有効なGitHubアカウントを用いて、約170件のプライベートリポジトリのコピーが9分間の時間枠内で行われた。これは推測ではなく、GitHub自身のGitアクティビティ記録から再構成された一連の経緯である。また、会社自身の説明により、次のことも確認された。83名のユーザーのメールアドレスと51名の潜在投資家の詳細の露出、5月25日の取り消し、SNSトークンが調査されたこと、そしてコードは改変されておらず、インフラストラクチャやデータベースにも到達されていないという調査結果。

未確定:どの汚染されたパッケージがラップトップに到達したのか、またいつ到達したのか。CrowdSecは、そのどちらも特定していないと明言している。同社のリポジトリのスキャンは決定的な結果を出せず、開発者マシンはクリーンであることが判明した。これは、同社自身の説明によれば侵害されていたラップトップと、うまく整合しない。このギャップは埋められたのではなく、認められている。

未公開:調査におけるGitHub側の見解。CrowdSecはGitHubのサポートチームがTanStackを起点とすることを裏付けたと述べているが、The Hacker Newsは、同社の報告書にはGitHub自身による調査結果が一切含まれていないと指摘しており、GitHubはトークンのライフサイクルについて自社の説明を公開していない。

裏付け:Dark Reading、The Hacker News、DevOps.com はそれぞれ1週間以内にこのインシデントを報じているが、いずれもCrowdSecのシステムを独立にフォレンジック調査した結果ではなく、CrowdSecの報告書とTanStackのアドバイザリに基づいている。Dark Readingは外部の実務家のコメントを追加しており、その中でSuzu LabsのDenis Calderoneは、失効漏れを「初日レベルの初歩的なもの」と呼んだ。9月20日付のCloud Security Allianceの調査ノートも同じ経緯をなぞっているが、この文書にはAI支援で作成され、CSAの公式レビューを受けていないという独自の免責事項が付されている——2件目の独立した知見として数える前に知っておく価値がある。アーカイブはこの記録の信頼度をA、異議ありをfalse、実害をtrueと評価している。

最初の記述と、その訂正

CrowdSecは9月17日の最初の公開声明で、「クライアントデータ、ログイン情報/パスワード、氏名、組織、その他いかなる情報も漏えいしておらず、CrowdSecはPIIやクライアントログを保存していない。影響はCrowdSecに限定される」と述べた。また、非公開コードを読み取ることができるAPIキーを窃取するために内部コンポーネントにバックドアが仕込まれた、という技術的仮説も提示した。

1日後のより詳細な報道は、その仮説を退職した従業員の説明に置き換え、83件のアドレスと51名の投資家を公表した。Hacker Newsはこれを、以前の主張が訂正されたものと表現している。CrowdSec自身の説明はより限定的だ。83件のアドレスは顧客記録ではなくデータサイエンスの監視リスト由来であり、投資家の詳細は2020年のものだった。両方の説明は同時に真であり得る。アドレスは顧客アカウントではなかったが、それでも犯罪フォーラムに公開されたダンプ内の個人データであった。同社は影響を受けたユーザーと投資家に通知し、漏えいを当局に報告すると述べている。

その後、何が変わりましたか?

• アーカイブ内で見つかった認証情報とトークンは、9月16日の夜から17日にかけてローテーションされ、残りのローテーションは翌朝に完了しました。

• エンドポイント検出および応答は現在、CrowdSecのコードベースまたはインフラに携わる人々のワークステーションとラップトップに導入されている。同社はその製品としてAikido Securityを挙げている。Humeauは、それはもっと早く導入されるべきだったと認めており、また、元従業員のマシンでそれが稼働していた可能性は低いとも認めている。

• 漏えいで明らかになったコンセンサスアルゴリズムのしきい値が調整されており、ブロックリストネットワーク全体で統計的偏差に対する監視が強化されています。

• 同社は、同じ対応——インベントリ、ローテーション、フォレンジック、開示——を48時間から24時間未満へと圧縮するという目標を自らに課している。

• 同社の表現では、影響を受けたユーザーと投資家には直接連絡を取っており、漏えいについては当局に報告しているという。

なぜこれがAIインシデントアーカイブに収められているのか

ここでのAIの関与はインフラストラクチャに関わるものであり、それが何を意味するのかは正確に述べておく価値がある。CrowdSecの説明のどこにも、侵入の最中にAIシステムが意思決定を行ったとは書かれていない。行為者は盗まれたトークンを使った一人または複数の人間だった。この件をAI業界のインシデントにしているのは、その被害の波及範囲の広さだ。TanStackのライブラリは現代のソフトウェアの非常に多くにおいてインターフェースを構築しており、そのトークンを収集したワームはクラウド、SSH、モデルプロバイダーの認証情報を一度に取得するように作られており、CrowdSecから持ち出された資料にはアプリケーションコードだけでなくデータサイエンスのスクリプトやモデルも含まれていた。

同じキャンペーンはAI企業にも直接到達した。CrowdSecのタイムラインには、TeamPCPが5月22日にMistral AIのリポジトリを侵害したと主張したことが記録されており、The Hacker Newsは、OpenAI従業員のデバイス2台が影響を受け、限られた一連の内部コードリポジトリに不正アクセスがあったと報じている。アーカイブでは、CrowdSecの事例は、それらOpenAI従業員のデバイスに続く、5月のTanStack侵害における2番目の下流被害者として記録されている。

コピーとそれが発見されるまでの距離こそが、伝わるべき部分だ。リポジトリが取得されたのは5月22日だった。CrowdSecが漏えいを知ったのは9月16日、Fuites Infoチームがpwnforumの投稿について同社に連絡したときであり、117日後のことで、自社の監視によるものではなかった。遅延を可能にした仕組みは異例ではなかった。目的を3日間過ぎても存続したアカウント、同社が読めるログに痕跡を残さなかったトークン、エンドポイント検出のない開発者用ノートPC。脅威検出を販売する企業であるCrowdSecには、その3つすべてがあった。