TL;DR: Betterleaksは、Gitleaksの作者による新しいオープンソースのシークレットスキャナーであり、Aikidoがスポンサーしています。これはGitleaksのドロップイン代替品であり、新しいフィルター、設定可能な検証、高速なスキャン、より多くのオプションを備え、エージェント時代のために構築されています。
なぜBetterleaksなのか?
シークレットはあらゆる場所で漏洩し、それらを見つけることに情熱を注いでいます。8年前、Gitleaksの最初のコードを書き始め、GitHubで初めて有効な認証情報を発見して以来、シークレットの発見に夢中になっています。これはゲームへの愛ゆえです。
Gitleaksは小さなプロジェクトから、セキュリティ専門家、ハッカー、開発者に認識される名前に成長しました。本稿執筆時点で、GitleaksはGitHubで最もスターを獲得しているシークレットスキャナーであり、GitHubで2,600万回、`brew install`経由で120万回ダウンロードされ、DockerおよびGHCRによって3,500万回プルされています。大小さまざまな企業で内部ツールとして使用され、製品としても販売されています。

では、なぜ新しいプロジェクトを作るのでしょうか?
透明性を保つためにお伝えすると、私はもはやGitleaksのリポジトリと名前を完全に制御していません。残念なことですが、これは同時に何か新しいことを始める機会を与えてくれます。何か…より良いものを?
○
○
●
○ Betterleaks v1.0.0
BetterleaksはGitleaksの後継です。「git」を外し、「better」を冠したのは、まさにより良いものだからです。規範的決定論、いかがでしょうか?
私はAikido Securityにシークレットスキャン責任者として入社しました。その目標はシンプルで、最高のオープンソースシークレットスキャナーを構築することです。さあ、構築を進めています。
Betterleaksの現状を簡単にまとめました。これはGitleaksのドロップイン代替品であり、多くの新機能を備えています。つまり、以前のGitleaks CLIオプションは引き続き機能し、古い設定もそのまま動作します。ただ、実行速度が速くなるだけです。v1で提供される機能の一部をご紹介します。
- ルール定義による検証: Betterleaksの検証ロジックは、Common Expression Language (CEL) を使用して記述されています。
- トークン効率スキャン: Betterleaksは、候補となるシークレットをフィルタリングするためにエントロピーに依存する代わりに、BPEトークン化に基づく手法を使用しています(これについてはRare Not Randomで記述しました)。BPEトークナイザーが文字列をどれだけ効率的に圧縮するかを測定することで、良好な信号ブーストが得られます。CredDataデータセットに対して、トークン効率はエントロピーの70.4%と比較して98.6%のリコール率を達成しています。
- Pure Go (CGOなし): CGOやHyperscanに依存せずに高速なスキャンを実現したかったのです。どこにでもデプロイできます。
- デフォルトのエンコーディング検出: Betterleaksは、二重および三重にエンコードされたシークレットをデフォルトで処理します。
- より多くのルール - 組織を支える新しいプロバイダーが常に登場しており、私たちはそれらを追加することに注力しています。Betterleaks用の新しいルールと検証ロジックの作成は非常に簡単ですので、ぜひPRをオープンしてください!
並列Gitスキャン - 並列Gitスキャンを有効にすると、Betterleaksは他のどのツールよりも高速にGitリポジトリをスキャンします。
Betterleaksの次は何でしょうか?V1はすでにGitleaksをかなり改善していますが、V2ではさらに多くの計画があります。例えば:
- より多くのソースのスキャン - BetterleaksはGitリポジトリとファイル(標準入力を含む)のスキャンをサポートしていますが、それだけでは十分ではありません。私たちはすべてをスキャンし、新しいソースを簡単に追加できるようにしたいと考えています。馬鹿げたほど簡単に。リポジトリに単一ファイルを追加するくらい簡単に。
- LLMアシスト - 信頼性を高めるため、または一般的なシークレットを分類し、コンテキストに基づいて潜在的な認証方法を生成するために、匿名化されたデータを使用してローカルまたはリモートのLLMを呼び出します。
- 新しいフィルター - トークン効率は序章に過ぎず、さらに多くの計画があります。
- 自動失効 - 一部のシークレットプロバイダーは、シークレットを失効させるためのAPIを公開しています。私たちは設定を通じてこれをサポートする予定です。
- 権限マッピング - シークレットが有効かどうかを知ることは重要ですが、そのシークレットが何にアクセスでき、何ができるか(例えば、本番環境を削除するなど)を知ることはさらに重要です。
- さらなる高速化 - 未開拓の最適化が必ず存在するため、それらを見つける必要があります。
- より煩雑でない(より良い)設定 - Gitleaksは堅牢な設定を持っていますが、時として調整が少し複雑になることがあります。私たちは設定をさらに平坦化し、許可リストではなくCELベースのフィルタリングを公開したいと考えています。バージョン2.x.xの設定は、v1(および以前のGitleaks設定)と完全に下位互換性があります。
一人で作業しているわけではないことをお伝えしましたでしょうか?長年にわたりGitleaksをメンテナンスする中で、多くのコミュニティメンバーと関わってきました。おそらく数百人もの方々とです。特に3名の方々が非常に協力的で、Betterleaksのメンテナンスを支援してくれます。1人ではなく4人のメンテナーがいることで、プロジェクトの安定性、ガバナンス、そして長期的な継続性が確保されます。
- Richard Gomez - Royal Bank of Canadaのグローバルセキュリティグループでソフトウェア開発ディレクターを務めています。長年Gitleaksに貢献し、Microsoft Security Response Center 2024年最優秀研究者でもあるRichardは、RBCのオープンソースプログラムオフィス立ち上げに貢献し、現代のセキュリティが依存するオープンソースエコシステムの強化に情熱を注いでいます。
- Braxton Plaxco - Red Hatのインシデント対応チームのシニア情報セキュリティアナリストであり、シークレット漏洩検出とOSINTに熱心です。彼はRed Hatのシークレット検出プログラムを主導し、Gitleaks(現在はBetterleaks)のようなオープンソースツールをLeakTKフレームワークの核として活用しました。Braxtonは、チームのイノベーションを可能な限り多くの人々に役立てるため、常にアップストリームの機会を模索しています。
- Ahrav Dutta - Amazonのソフトウェアエンジニアで、高性能システムの構築とオープンソースのシークレットスキャン技術の進展に注力しています。彼は、より高速でスケーラブル、かつ広範なセキュリティコミュニティにとって有用な検出を実現することに尽力しています。
BetterleaksはMITライセンスのもとでオープンソース化されており、Aikidoのオープンソースプロジェクトのラインナップに、Aikido Safe Chain、Aikido Zen、Aikido Intel、Opengrepとともに加わります。Aikidoはこのプロジェクトを後援していますが、BetterleaksはAikidoに依存していません。私がAikidoに加わったのは、Willem(CTO)と私が、最高のオープンソースのシークレットスキャナーを提供するという共通のビジョンを持っているからです。私は、透明性の高いガバナンスとコミュニティ主導のロードマップを持つ独立したオープンソースプロジェクトであるBetterleaksを維持することで、そのビジョンに取り組んでいます。
最後に、AIエージェント時代におけるBetterleaksの開発について補足します。好むと好まざるとにかかわらず、エージェントはすでに存在し、開発者のワークフローを再構築しています。Betterleaksは人間中心に設計されていますが、エージェントもこれを操作するという事実を考慮する必要があります。エージェントはBetterleaksをどのように操作するのでしょうか?恐らく、エージェントがgrepのような他のCLIを使用する方法と似たような形になるでしょう。Claude Code、Codex、またはCursorを起動すると、それらが常にgrepのようなツールに手を伸ばしているのがわかるでしょう。これは、優れたCLIがフラグを使用して出力を厳密に制御し、トークン予算を使い果たすことなく必要な正確な答えを得られるようにするためです。私たちは、まったく同じユーティリティを提供するためにBetterleaksを構築しました。したがって、BetterleaksをAIエージェントのツールとして定義し、生成するコードをスキャンさせたり、興味深いファイルに遭遇した際にBetterleaksを実行してバグバウンティエージェントを強化したりしてください。
Using a secrets scanner will save your bacon at one point or another so whether you’re a current Gitleaks user or completely new to secrets scanning, now is the time to give Betterleaks a spin. To help us build the best open-source secrets scanner out there, we’d massively appreciate a star on GitHub! See you in the issues and PRs :)
{{cta}}

