コンテンツにスキップ

Secret Keyword Filterによるノイズ削減

Secret Keyword Filter は、シークレットスキャンにおけるノイズを削減します。ワークスペース管理者は、gitleaks が評価する前に、既知の安全なキーワードを含む行をスキップできます。

以下のような場合に Secret Keyword Filter を使用してください。

  • 同じ誤検知が多数のファイルやリポジトリにまたがって発生している場合
  • 検出の原因が、設定キーや変数名のような安定した文字列である場合
  • 行ごとのコメントではなく、ワークスペース全体の設定にしたい場合

一般的な許可リスト(allowlist)の代替として使用しないでください。これは gitleaks の allowlist を補完するものであり、置き換えるものではありません。

手順1. 「Settings」「Advanced」 → **「Secret Keyword filter」**に移動し、「Manage」をクリックします

手順2. 入力欄にキーワードを追加します。 複数追加できます。

手順3. 保存して、変更を適用するためにスキャンを実行します

  • 最低5文字: それより短いキーワードは拒否されます
  • 大文字小文字を区別します: MySecretmysecret は異なるキーワードとして扱われます
  • 次回スキャンのみに適用: 保存した変更は今後のスキャンにのみ適用されます

このフィルターは単純な文字列マッチングを使用します。正規表現によるフィルターではありません

設定したキーワードが行のどこかに含まれていれば、その行全体がシークレット検出の対象から除外されます。

例:

const EXAMPLE_TOKEN = process.env.EXAMPLE_TOKEN;
const apiKey = "sk_live_123456";

EXAMPLE_TOKEN がキーワードリストに含まれている場合、1行目はスキップされます。2行目は引き続きスキャンされます。

もし1行目にも本物のシークレットが含まれていた場合、そのシークレットもスキップされてしまいます。このフィルターは行単位で動作し、トークン単位では動作しません。

  • 一般的な用語ではなく、具体的なキーワードを使用する
  • 設定キーや変数名のような安定した識別子を優先する
  • 必要に応じて、大文字小文字の異なるバリエーションを複数追加する
  • 保存前にマッチした内容を注意深く確認する
  • 変更後は再スキャンを行い、本物の問題を隠さずにノイズが減っていることを確認する

良いキーワードの例:

  • EXAMPLE_SENDGRID_KEY
  • dummyStripeSecret
  • integration_test_token

避けるべきキーワードの例:

  • token
  • secret
  • auth

繰り返し発生するワークスペース全体の誤検知には、Secret Keyword Filter を使用してください。

コード内の単一の安全と分かっている行を抑止したい場合は、コードコメントを使用してください。

特定のファイルやパスをスキャン対象から除外したい場合は、.aikidoファイルによる除外を使用してください。