【Security】GitLeaksからBetterLeaksに乗り換えた話


こんにちは、フリーランスエンジニアの太田雅昭です。

エコシステムに蔓延るセキュリティリスク

近年、GitHub, Npmなどのインフラがセキュリティリスクにさらされています。AIの進化によって攻撃パターンが広がり、CVEで公開された情報がAIで解析され、これまで以上に攻撃速度が上がっているなど、防御してもしきれない状況になりつつあります。

こうした状況で、万が一のことを考えなければいけません。万が一攻撃に飲み込まれた際の、最低限の防御策も必要になってきています。

GitHubは読まれる前提で使用する

GitHubはPublicとPrivateを選択できますが、攻撃に巻き込まれた場合Privateでも攻撃者に読まれてしまいます。機密情報がGitHub上にあると漏洩のリスクがあります。.envなどのファイルは.gitignoreに指定するなどの対策は基本ですが、ヒューマンエラーは起こり得る最大のリスクです。またAIによるコーディングが当たり前になりつつある昨今、気づかないうちに機密情報がGitHubに載ってしまう懸念もあります。

GitLeaks, BetterLeaks

GitLeaksやBetterLeaksといったツールは、こうした事故を未然に防いでくれます。具体的にはコミットされた変更をスキャンし、機密情報が含まれていないかをチェックしてくれます。

BetterLeaks: https://github.com/betterleaks/betterleaks

BetterLeaksはGitLeaks作者による後継ツールです。以下はAIに調査してもらった両者の比較表ですが、判断材料としては、AIによるまとめのみで問題ないかと思います。検出率が高くなっているのが特に注目すべきです。

項目GitLeaksBetterLeaks
作者Zach RiceZach Rice(同一作者)
初回リリース2018年頃2026年2月
言語Go (CGO依存)Pure Go (CGO不要)
検出方式Shannon entropy + 正規表現BPEトークナイゼーション (cl100k_base)
検出率 (Recall)約70.4%約98.6%
バリデーション基本的なパターンマッチングCELベースの設定可能なバリデーション + HTTP検証
エンコード対応限定的Base64等のエンコード済みシークレットをネイティブ対応
パフォーマンス標準並列化されたgitスキャン
互換性-GitLeaksからのドロップインリプレースメント
スポンサー-Aikido Security

移行作業

今回GitLeaksからの移行を行いましたが、Claude Codeにまかせて大丈夫でした。GitLeaksとBetterLeaksは互換性が高く、ファイルもほぼ同じものを使用できたようです。

なお新規導入もClaude Codeにまかせて問題ないかと思います。

まとめ

AIの発達によりセキュリティ要件が厳しくなってきています。損害を出さないよう、注意して動向をチェックする必要があります。