mcpField
L
ln-761-secret-scanner

ln-761-secret-scanner

github.com/levnikolaevichセキュリティ584395 回インストール2 日前に更新
リポジトリ

ln-761-secret-scanner について

コードベース内のハードコードされたシークレットや認証情報を検出し、分類して修正方法を示すワーカーです。gitleaks または trufflehog を利用し、どちらも使えない場合は手動のパターン照合に切り替えます。

主な機能

  1. 01利用可能なシークレットスキャンツールを使用
  2. 02手動のパターン照合にフォールバック
  3. 03重大度ごとに検出結果を分類
  4. 04ベースラインと許可リストで結果を除外
  5. 05レポート内のシークレット値を伏せる
  6. 06修正ガイダンスを添付

活用シーン

  1. 01セキュリティ設定時のプロジェクトスキャン
  2. 02コミット前のシークレット確認
  3. 03CI/CD パイプラインへのシークレット検査の追加
  4. 04手動のセキュリティ監査

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-761-secret-scanner

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
detection_patterns.md
remediation_guide.md
references/templates/
gitleaks_config_template.toml

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリからの相対パスです。

シークレットスキャナー

タイプ: L3 ワーカー カテゴリ: 7XX ブートストラップ

コードベースをスキャンしてハードコードされたシークレットと認証情報を検出し、修正用の構造化された検出結果を返します。

目的と範囲

  • 利用可能なツール(gitleaks、trufflehog)または手動のパターンを使用して、ハードコードされたシークレットを検出します
  • 検出結果を重大度(Critical/High/Medium/Low)で分類します
  • ベースラインと許可リストを使って誤検知を除外します
  • 検出タイプごとに修正方法を提示します
  • 正規化したレポートを親オーケストレーター(ln-760)に返します

使用するタイミング

  • プロジェクトのブートストラップ時(ln-760-security-setup 経由)
  • コミット前フックの検証時
  • CI/CD セキュリティパイプラインでの実行時
  • 手動でのセキュリティ監査時

ワークフロー

フェーズ 1:ツールの検出

ステップ 1:利用可能なスキャナーを確認

  • gitleaks がインストールされているか確認します(推奨)
  • trufflehog がインストールされているか確認します(代替)
  • どちらも利用できない場合は、フォールバックとして手動でパターンマッチングを行います

ステップ 2:設定を読み込む

  • プロジェクトの .gitleaks.toml が存在する場合は読み込みます(カスタムルール)
  • .gitleaksbaseline が存在する場合は読み込みます(既知の誤検知)
  • 設定がない場合は、references/detection_patterns.md のデフォルトパターンを使用します
フェーズ 2:スキャンの実行

ステップ 1:利用可能なスキャナーを実行

  • プロジェクトのルートに対してスキャナーを実行します
  • 出力を構造化形式(JSON/SARIF を推奨)で取得します
  • ツールが利用できない場合は、高い信頼度でシークレットを検出する手動の grep パターンを実行します

ステップ 2:結果を解析

  • 出力を共通形式(file、line、pattern、raw_match)に正規化します
  • ツールから重大度が提示されている場合は、その値を保持します
フェーズ 3:レポートの生成

ステップ 1:重大度を分類

  • references/detection_patterns.md に従って、検出結果を重大度レベルに割り当てます
  • Critical:AWS キー、秘密鍵、JWT シークレット
  • High:一般的なパスワード、接続文字列
  • Medium:API キー(テストデータの可能性があります)
  • Low:手動確認が必要な、シークレットの可能性がある値

ステップ 2:誤検知を除外

  • ベースラインの除外設定を適用します
  • 許可リストのパターン(プレースホルダー、テストデータ、ドキュメント)を適用します
  • フィルタリングした項目には、理由とともに「excluded」のマークを付けます

ステップ 3:レポートを作成

  • 検出結果を重大度ごとにまとめます
  • ファイルパス、行番号、マッチしたパターンを含めます
  • レポートに実際のシークレット値を含めないでください
フェーズ 4:修正方法の提示

ステップ 1:修正アクションを付与

  • 各検出結果に、references/remediation_guide.md に記載された修正手順を付与します
  • Critical の検出結果では、直ちにローテーションが必要であることを強調します

ステップ 2:結果を返す

  • 構造化された検出結果のリストをオーケストレーターに返します
  • 合計スキャン数、合計検出数、重大度別の内訳を含む概要を付けます

重要なルール

  1. 実際のシークレット値をログに記録しないでください — すべての出力で値を伏せてください
  2. 検出されたシークレットはすべて漏洩したものとして扱ってください — Critical の場合はローテーションが必要です
  3. ベースラインを保持してください — 既存のベースライン項目を削除しないでください
  4. コミット前の対策を優先してください — 未設定の場合はコミット前フックを推奨してください
  5. Git の履歴を考慮してください — シークレットが履歴に存在する可能性がある場合は警告してください(git-filter-repo が必要です)

完了の定義

  • 利用可能なツールまたは手動のパターンを使ってスキャンを完了している
  • 検出結果を重大度で分類している
  • ベースライン/許可リストを使って誤検知を除外している
  • 各検出結果に修正方法を付与している
  • 正規化した形式でレポートを返している(実際のシークレット値を含まない)
  • Critical の検出結果にローテーションが必要であることを明示している

参照ファイル

ファイル目的
references/detection_patterns.md信頼度レベル別のシークレットパターン
references/templates/gitleaks_config_template.tomlプロジェクトの gitleaks 設定用テンプレート
references/remediation_guide.mdシークレットの種類別のローテーション手順

バージョン: 2.0.0 最終更新日: 2026-01-10

コメント