Aqua Security Softwareは公式ブログで、「GitHub」「GitLab」「Bitbucket」「Azure Repos」などのソースコード管理プラットフォームに、従来のシークレットスキャンツールでは見落とされる可能性のあるシークレット漏えいのリスクがあるとして注意を喚起した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Aqua Security Softwareは2024年6月23日(米国時間)に公式ブログで、「GitHub」「GitLab」「Bitbucket」「Azure Repos」といったソースコード管理(SCM)プラットフォームに、従来のシークレット(機密情報)スキャンツールでは見落とされる可能性のあるシークレット漏えいのリスクがあるとして注意を喚起した。
Aqua Security Softwareは、GitHubの上位100組織にある5万2268個のリポジトリを対象に、Gitリポジトリ内のシークレットをチェックする「Gitleaks」と、同社が明らかにした手法に基づいた調査を比較した結果、Gitleaksのようなシークレットスキャンツールでは漏えいしているシークレットの約18%を見逃す可能性があると明らかにしている。
この調査の過程では、Mozillaの従業員が利用するファジングツールのAPIトークンや、テレメトリーサービス用のAPIトークン、あるFortune 500企業が使用している「CIsco Meraki」のAPIトークン、ヘルスケア企業が利用する「Microsoft Azure」の認証用シークレットが含まれていたことも判明したという。
Aqua Security Softwareは「一度でもコードにシークレットを記述すると、一見削除したように見えてもそのシークレットが永久に公開されてしまう可能性がある」とした上で、シークレットが漏えいするシナリオや、GitHubなどのSCMプラットフォームにおけるシークレットの漏えい対策を解説している。
Aqua Security Softwareによると、作業者が以下のような手順でシークレットの削除を試みるケースで、表面上はシークレットが消えているように見えても、「git clone --mirror」コマンドを使用することでシークレットを確認できてしまう状態に陥るという。
git checkout -b new-branch work work work git commit -m 'a mistake/secret' git push origin new-branch"
git checkout master && git branch -D new-branch git push --mirror origin
「この問題は、git clone --mirrorコマンドではなく通常のgit cloneコマンドを使用してリポジトリのシークレットをスキャンすると、リモートに存在するブランチのみがスキャン対象となり、リモートリポジトリの参照(refs)などにあるシークレットを見逃すリスクがあることを浮き彫りにしている。大多数のユーザーやワークフローが通常のgit cloneコマンドを使用しているため、この発見は非常に重要だ」と、Aqua Security Softwareは述べている。
Aqua Security Softwareは上記のようなシナリオを含むシークレットの漏えい対策について、GitHubを例に、次のように解説している。
Aqua Security Softwareは「私たちは自分たちのリポジトリの履歴も含めてシークレットがないかどうかをチェックする必要がある。特にパブリックリポジトリの場合は、攻撃者が悪用する可能性のあるシークレットやその痕跡を完全に排除するために、慎重に確認しなければならない」と述べている。
Copyright © ITmedia, Inc. All Rights Reserved.
Security & Trust 險倅コ九Λ繝ウ繧ュ繝ウ繧ー