コンテンツにスキップ

Secrets AutoTriage

Secrets AutoTriageは、シークレットスキャンからのノイズを削減し、実際に危険な露出シークレットに集中できるようにします。まず誤検知を除外しようと試み、次に検出結果が本物である場合は、露出したシークレットがどれほど危険かによってランク付けを行うことでこれを実現します。

Secrets AutoTriageはデフォルトでは有効になっていません。ワークスペース管理者のみが、ワークスペース設定からこれをオンにできます。

SettingsTriage に移動します。

Secret Noise Reductionの下で、Secrets AI Triageのトグルをオンにします。有効にすると、Aikidoは次回のスキャン時からシークレットの検出結果にAutoTriageを適用します。

Secret Noise Reduction設定内のSecrets AI Triageトグル

Secrets AutoTriageとは何か(そして何ではないか)

Section titled “Secrets AutoTriageとは何か(そして何ではないか)”

Secrets AutoTriage自体はスキャナーではありません。シークレットスキャンの下流に位置し、マッチが本物の、露出したシークレットであるかどうか、そしてもしそうであれば、その露出がどれほどリスクが高いかを判定します。

大部分の検出結果に対して、Aikidoは Aikido が定義したルールと有効性チェックに基づいてtriageを行います。より曖昧なケースについては、Aikidoは周辺のコードコンテキストを使用して、マッチが本物のシークレットなのか、プレースホルダー、例、テスト値なのかを判断します。

Triage前の誤検知フィルタリング

Section titled “Triage前の誤検知フィルタリング”

シークレットがフィードに到達する前に、Aikidoはシークレットに見えるが実際にはそうではないマッチを除外します。これには以下が含まれます。

これらの手順だけでも、シークレットアラートのかなりの部分が抑制されます。

マッチが本物のシークレットのように見える場合、AikidoのLive Secret Detectionが、そのシークレットがまだ有効かどうかを検証し、付与されているアクセス範囲を調べます。AutoTriageはこれらのシグナルを使って優先度を調整します。

  • 期限切れまたはローテーション済みのシークレットは、もはやリスクをもたらさないため優先度が下げられます
  • 読み取り専用のスコープは、書き込みや削除アクセスよりも優先度が低く設定されます
  • 書き込み/削除スコープを持つアクティブなシークレットは、即座の対応のために優先度が引き上げられます

Secrets AutoTriageが考慮するシグナル

Section titled “Secrets AutoTriageが考慮するシグナル”

Secrets AutoTriageは設計上、コンテキストを重視します。実際には、以下のような事項を考慮します。

  • マッチがアクティブか、期限切れか、既にローテーション済みか
  • アクティブなシークレットが付与する権限の範囲
  • ファイルがテスト、モック、例、ドキュメントファイルなのか、それとも本番コードなのか
  • 値がプレースホルダーや例なのか、実際の認証情報なのか
  • シークレットが解錠するシステムの機密性

シークレットが本物の露出であると確認された場合は、できるだけ早くローテーションしてください。コードからシークレットを削除するだけでは不十分です。gitの履歴に残り続けるためです。露出したシークレットのクリーンアップとローテーションに関するガイダンスは、Resolving Malware and Leaked Secret Issuesを参照してください。

AutoTriageが誤検知だと思われるものにフラグを立てた場合は、UIで課題を無視するコードコメントで無視する、またはワークスペース全体のSecret Keyword Filterを追加できます。