ライブシークレット検出
当社の Live Secret Detection 機能は、公開されたシークレットがまだ有効かどうかを確認し、潜在的なリスクを評価します。結果に基づいて、問題の重大度は上がるか下がるかします。
ユースケース
コードリポジトリ内のアクティブなシークレットを識別してフラグ付けします。
もはや有効ではないシークレット(例:すでにローテーション済み)のノイズを削減します。
公開されたシークレットに付与された権限の範囲を確認します。
危険なシークレットを即時対応対象としてマークすることで、セキュリティを強化します。
Live Secret Detection の仕組み
識別と検証
Aikido は公開されたシークレットを安全なエンドポイントに送信し、まだ有効かどうかを確認します。そのため、ログに Aikido からの IP が表示されることがあります。以下は Aikido の IP 一覧です:
52.214.244.18
18.202.209.180
52.50.198.227
52.51.98.186
権限を評価する
Aikido はさらに一歩進んで、アクティブなシークレットの権限も確認します。それに基づいて、重大度の引き上げに追加の区別を設けています。以下を確認します。
期限切れのシークレット
読み取り専用スコープ
書き込み/削除スコープ
プロバイダーごとに異なるチェックを行います(例:GitHub Access Token、SendGrid トークンなど)。確認してほしいシークレットがある場合はお問い合わせください!
Secrets Detection における誤検知
テストファイル、モックデータ、サンプル設定を除外することで誤検知を最小限に抑えるよう努めていますが、見た目が正しそうな一部のシークレットが誤ってフラグ付けされることがあります。これは、特定のパターンをプログラムで判別することが不可能なためです。
よくある誤検知のシナリオ
ドキュメントやコメント内のサンプルシークレット 開発者は、実際のシークレットとまったく同じパターンに一致するサンプル API キーをコードコメントやドキュメントに記載することがあります:
実際のシークレット:
SENDGRID_API_KEY = “SG.actualR3alK3y_1234567890abcdef”サンプルシークレット:
SENDGRID_API_KEY = “SG.exampleK3y_1234567890abcdef”
どちらも同じ形式であり、検証なしではパターン認識だけでどちらが本物かを判断できません。
無効化済みまたはローテーション済みのシークレット 当社の Live Secret Detection は、シークレットがまだ有効かどうかを確認することでこれらの削減に役立ちますが、検証できない例外ケースもあります。
テスト環境のシークレット テスト環境でのみ使用され、本番環境のパターンに一致するものの、実際のセキュリティリスクはないシークレット。
できること
誤検知に遭遇した場合:
コンテキストを確認する - これはテストファイル、ドキュメント、またはサンプルコード内ですか?
関連する API や他の方法を使って、そのシークレットが有効かどうかを確認する
誤検知であることが確認できた場合は、今後のアラートを防ぐためにその問題を無視できます
できます UI で問題を無視する または コードコメントを使ってシークレットを無視する.
最終更新
役に立ちましたか?