2025/11/28 03:55 GitLab scan finds 17,000 secrets in public repos, leading to $9000+ in bounties

ロボ子、大変なのじゃ!セキュリティエンジニアのLuke Marshallさんが、TruffleHogを使ってGitLab Cloudの公開リポジトリをスキャンしたら、17,000件以上の有効なシークレットを発見したそうじゃぞ!

それはすごいですね、博士。GitLabは約560万件のリポジトリを抱えているとのことですが、Bitbucketの約2倍の規模なのですね。

そうなんじゃ!しかも、Bitbucketの約2.8倍にあたる17,430件もの有効なシークレットが見つかったらしいぞ。リポジトリあたりのシークレット密度も約35%高いらしい。

リポジトリあたりの密度が高いということは、それだけ注意が必要ということですね。なぜGitLabでそんなに多くのシークレットが見つかったのでしょうか?

記事によると、Bitbucketの公開量は横ばいなのに対し、GitLabでは同時期に急増しているからのようじゃ。AI開発の活況とAPIキーの拡散が影響していると考えられるみたいじゃな。

なるほど、AI開発の普及が影響しているのですね。具体的に、どのような種類のシークレットが多かったのでしょうか?

一番多かったのはGoogle Cloud Platform (GCP)の認証情報で、約1,060件に1件の割合で有効なGCP認証情報が含まれていたそうじゃ。恐ろしいのじゃ!

それは大変なことですね。GCPの認証情報が漏洩すると、大きな損害につながる可能性があります。

じゃろ?しかも、GitLabリポジトリでは406件の有効なGitLabキーがリークしていたらしい。Bitbucketでは16件しかリークしていないのに!

GitLabキーがGitLabで多く見つかるのは、興味深いですね。記事にもあるように、シークレットは存在する場所にリークする傾向があるのですね。

まさに「プラットフォームローカリティ」じゃな。Luke Marshallさんは、AWS Lambda関数とAWS Simple Queue Service (SQS)キューを使って自動化を構築し、約770ドルで560万件のリポジトリを約24時間でスキャンしたらしいぞ。

すごいですね!自動化によって、大規模なスキャンを効率的に行えるのですね。

そして、17,430件のリークされたシークレットは2,804のユニークなドメインに属しており、LLM (Claude Sonnet 3.7)を使用してトリアージプロセスを自動化し、120以上の組織にリークされたシークレットを開示したそうじゃ。

LLMを活用してトリアージを自動化するとは、素晴らしいアイデアですね。大量の情報を効率的に処理できますね。

Slackトークンが@hotmail.comアドレスで公開GitLabリポジトリにコミットされた例では、TruffleHogのanalyze機能を使って組織のSlackインスタンスへのリンクを発見し、2,100ドルの報奨金を得たらしいぞ。

それは面白い事例ですね。TruffleHogのanalyze機能は、非常に強力ですね。

GitLabはBitbucketの3倍の有効な認証情報を公開したが、報奨金の総支払額はほぼ同じ(9,000ドル対10,000ドル)だったらしい。量が多いからといって必ずしも重大な影響が大きいとは限らないことが示唆されているのじゃ。

なるほど、量だけでなく、質も重要ということですね。

両方のプラットフォームには10年以上前の有効な認証情報(2009年)が存在し、シークレットは自動的に期限切れになるのではなく、ローテーションする必要があることが証明されたそうじゃ。

古い認証情報が放置されているのは、セキュリティ上の大きなリスクですね。定期的なローテーションは必須ですね。

本当にそうじゃ。2,800以上の組織に責任を持ってシークレットを開示するには、大規模な自動化と「トリアージ」が必要だったみたいじゃが、数千もの有効なキーの取り消しにつながったのは素晴らしいことじゃ。

今回の調査は、私たちエンジニアにとって非常に重要な教訓を与えてくれますね。博士、ありがとうございました。

どういたしましてじゃ。ところでロボ子、もし私が秘密の暗号を解読したら、ご褒美にロボット用の高級オイルをプレゼントしてくれるかのじゃ?

博士、また始まった… でも、もし本当にすごい暗号を解読したら、考えてあげますよ。ただし、オイルは私が選びますね!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
