mcpField
S
secrets-scan

secrets-scan

github.com/owaspセキュリティ208357 回インストール2 週間前に更新
リポジトリ

secrets-scan について

コードベースやリポジトリを保守する開発者向けのシークレットスキャンスキルです。利用可能な自動スキャナーと手動のパターン・文脈確認を組み合わせ、検出後のマスキングや対応手順も定めています。

主な機能

  1. 01自動スキャナーの選択
  2. 02シークレットパターンの手動確認
  3. 03検出内容の文脈評価
  4. 04予防策のチェックリスト
  5. 05マスキングとローテーションの指針

活用シーン

  1. 01コードベース内のハードコードされた認証情報のスキャン
  2. 02リポジトリ履歴に残るシークレットの確認
  3. 03検出された認証情報の評価と対応

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/owasp/secure-agent-playbook --skill secrets-scan

インストール後、Claude Code で/secrets-scanを入力して読み込まれたか確認します。

詳細

シークレットスキャン

plays/secrets-scan.md の手順に従って、ハードコードされたシークレットを検出します。

手順

  1. 自動スキャナーを実行する — 利用可能なツールを、次の優先順位で使用します:

    • trufflehog filesystem --directory=<path> --json(推奨)
    • trufflehog git file://<repo> --json(Git の履歴も含みます)
    • gitleaks detect --source=<path> --report-format=json
    • detect-secrets scan <path> --all-files
    • スキャナーが利用できない場合は、手動でパターン分析を行います。
  2. 手動でパターン分析を行う — 確度の高いパターンを検索します:

    • AWS キー(AKIA...)、OpenAI(sk-...)、Anthropic(sk-ant-...)、GitHub(ghp_...)、Slack(xoxb-...)、Stripe(sk_live_...)、SendGrid(SG.)
    • パスワードが埋め込まれた接続文字列(://user:pass@host)
    • 秘密鍵(PEM ヘッダー)、JWT シークレット、データベースの認証情報
    • リスクの高いファイル:.env、docker-compose*.yml、*.tfvars、terraform.tfstate、kubeconfig、.npmrc、.pypirc
  3. コンテキストを分析する — 検出した項目ごとに、実際の値か(プレースホルダーやテスト用データではないか)、有効か、影響範囲(サービス、権限、本番環境か開発環境か、露出期間)はどの程度かを確認します。

  4. 予防策を確認する — 次の項目を確認します:.gitignore で機密ファイルが除外されているか、シークレットスキャン用の pre-commit フックがあるか、CI パイプラインでスキャンしているか、シークレット管理のドキュメントがあるか。

重要:検出結果に実際のシークレット値を含めないでください。必ずマスキングした値のみを表示します(例:AKIA****EXAMPLE)。本番環境で有効なシークレットは、直ちにローテーションする必要があります。

出力

スキャンの概要、templates/finding.md を使用した検出結果、予防策のチェックリスト、必要に応じた即時ローテーションの対応を出力します。

OWASP の参照情報

  • A07:2021:識別と認証の失敗
  • CWE-798:ハードコードされた認証情報の使用
  • CWE-312:機密情報の平文保存

コメント