mcpField
C
configure-security

configure-security

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

configure-security について

依存関係監査、SAST、シークレット検出、セキュリティポリシーの確認と設定を支援するスキルです。プロジェクトの言語や既存の対策を検出し、準拠状況の報告と設定変更を案内します。

主な機能

  1. 01言語と既存対策の検出
  2. 02依存関係監査の設定
  3. 03SAST スキャンの設定
  4. 04シークレット検出の設定
  5. 05SECURITY.md ポリシーの作成
  6. 06CI/CD へのセキュリティ検査の統合

活用シーン

  1. 01プロジェクトに不足する検査の監査
  2. 02言語に応じた依存関係検査の追加
  3. 03CI でコードとシークレットをスキャン

インストール

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

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-security

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

同梱ファイル

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

REFERENCE.md
scripts/
configure-security.sh
scripts/tests/
test-configure-security.sh

詳細

/configure:security

依存関係の監査、SAST、シークレット検出のためのセキュリティスキャンツールを確認し、設定します。

このスキルを使用する場面

次の場合はこのスキルを使用します…次の場合は別の方法を使用します…
プロジェクトに依存関係の監査、SAST、またはシークレット検出を設定する場合1 回限りのセキュリティスキャンを実行する場合(gitleaks detect または npm audit を直接使用します)
プロジェクトがセキュリティスキャン標準に準拠しているか確認する場合アプリケーションレベルの脆弱性についてコードをレビューする場合(security-audit エージェントを使用します)
CI/CD で Dependabot、CodeQL、または TruffleHog を設定する場合Web UI を使って GitHub リポジトリのセキュリティ設定を管理する場合
SECURITY.md ポリシーを作成または更新する場合ポリシーテンプレートの範囲を超えるセキュリティドキュメントを作成する場合
プロジェクトに不足しているセキュリティツールを監査する場合特定の CVE または脆弱性を調査する場合

コンテキスト

  • パッケージファイル:!find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' -o -name 'go.mod' \)
  • Gitleaks 設定:!find . -maxdepth 1 -name '.gitleaks.toml'
  • Pre-commit 設定:!find . -maxdepth 1 -name '.pre-commit-config.yaml'
  • ワークフローディレクトリ:!find . -maxdepth 2 -type d -path '*/.github/workflows'
  • Dependabot 設定:!find . -maxdepth 2 -path '*/.github/dependabot.yml'
  • CodeQL ワークフロー:!find . -maxdepth 3 -path '*/.github/workflows/codeql*'
  • セキュリティポリシー:!find . -maxdepth 1 -name 'SECURITY.md'

セキュリティスキャンのレイヤー:

  1. 依存関係の監査 - 依存関係に既知の脆弱性がないか確認します
  2. SAST(静的アプリケーションセキュリティテスト) - コードを分析してセキュリティ上の問題を検出します
  3. シークレット検出 - シークレットがバージョン管理にコミットされるのを防ぎます

パラメーター

コマンド引数から解析します:

  • --check-only:修正案を提示せずにステータスを報告します
  • --fix:確認を求めずにすべての修正を自動適用します
  • --type <type>:特定のセキュリティ種別(dependencies、sast、secrets、all)に絞り込みます

実行

このセキュリティスキャン設定チェックを実行します:

ステップ 1:ツールの最新バージョンを取得する

設定の前に最新バージョンを確認します:

  1. Trivy:GitHub のリリースを確認します
  2. Grype:GitHub のリリースを確認します
  3. gitleaks:GitHub のリリースを確認します
  4. pip-audit:PyPIを確認します
  5. cargo-audit:crates.ioを確認します
  6. CodeQL:GitHub のリリースを確認します

WebSearch または WebFetch を使用して、現在のバージョンを確認します。

ステップ 2:プロジェクトの言語とセキュリティ状況を検出する

検出スクリプトを実行して、プロジェクトの言語シグナルと、3 つのセキュリティレイヤー(依存関係の監査/SAST/シークレット検出)、および SECURITY.md ポリシーをスキャンします:

bash "${CLAUDE_SKILL_DIR}/scripts/configure-security.sh" --home-dir "$HOME" --project-dir "$(pwd)"

出力から STATUS= と ISSUES: ブロックを解析します。KEY=VALUE の行には、言語検出(LANG_JS、LANG_PYTHON、LANG_RUST、LANG_GO)と、各項目の有無を示すマトリックス(DEPENDABOT、CODEQL、GITLEAKS_CONFIG、SECURITY_POLICY、TRUFFLEHOG、DEPENDENCY_REVIEW、SECURITY_LAYERS_PRESENT)が記録されています。

ステップ 3:コンプライアンスレポートを生成する

依存関係の監査、SAST スキャン、シークレット検出、セキュリティポリシーの各コンポーネントのステータスを示す、書式設定されたコンプライアンスレポートを出力します。

--check-only が指定されている場合は、ここで終了します。

コンプライアンスレポートの形式については、REFERENCE.md を参照してください。

ステップ 4:依存関係の監査を設定する(--fix を指定した場合、またはユーザーが確認した場合)

検出された言語に基づいて、以下を実行します。

JavaScript/TypeScript(npm/bun):

  1. package.json に監査スクリプトを追加します
  2. Dependabot 設定 .github/dependabot.yml を作成します
  3. 依存関係レビューのワークフロー .github/workflows/dependency-review.yml を作成します

Python(pip-audit):

  1. pip-audit をインストールします:uv add --group dev pip-audit
  2. 監査スクリプトを作成します

Rust(cargo-audit):

  1. cargo-audit をインストールします:cargo install cargo-audit --locked
  2. .cargo/audit.toml で設定します

設定テンプレートの全容については、REFERENCE.md を参照してください。

ステップ 5:SAST スキャンを設定する(--fix を指定した場合、またはユーザーが確認した場合)
  1. 検出された言語を使用して CodeQL ワークフロー .github/workflows/codeql.yml を作成します
  2. Python プロジェクトでは、Bandit をインストールして設定します
  3. Bandit を実行します:uv run bandit -r src/ -f json -o bandit-report.json

CodeQL ワークフローと Bandit の設定テンプレートについては、REFERENCE.md を参照してください。

ステップ 6:シークレット検出を設定する(--fix を指定した場合、またはユーザーが確認した場合)
  1. gitleaks をインストールします:brew install gitleaks(または go install github.com/gitleaks/gitleaks/v8@latest)
  2. プロジェクト固有の許可リストを含む .gitleaks.toml を作成します
  3. 初回スキャンを実行します:gitleaks detect --source .
  4. .pre-commit-config.yaml に pre-commit フックを追加します
  5. 必要に応じて、CI 用の TruffleHog ワークフローを設定します

gitleaks、TruffleHog、CI ワークフローの設定テンプレートについては、REFERENCE.md を参照してください。

ステップ 7:セキュリティポリシーを作成する

REFERENCE.md にあるテンプレート(サポート対象バージョンの表、脆弱性の報告手順、報告内容、ベストプラクティス、自動化ツールの一覧)を基に、SECURITY.md を作成します。

ステップ 8:CI/CD 統合を設定する

以下のジョブを含む、包括的なセキュリティワークフロー .github/workflows/security.yml を作成します。

  • 依存関係の監査
  • シークレットスキャン(TruffleHog)
  • SAST スキャン(CodeQL)

push/PR のトリガーに加えて、週次スキャンをスケジュールします。

CI セキュリティワークフローのテンプレートについては、REFERENCE.md を参照してください。

ステップ 9:標準の追跡を更新する

.project-standards.yaml の security コンポーネントのキーを更新します。正確なブロックについては、REFERENCE.md を参照してください。

ステップ 10:設定結果を報告する

依存関係の監査、SAST スキャン、シークレット検出、セキュリティポリシー、CI/CD 統合にわたって行ったすべての変更の概要を出力します。Dependabot PR と CodeQL の検出結果を確認する手順、および非公開の脆弱性報告を有効にする手順も、次のステップとして記載します。

結果レポートの形式については、REFERENCE.md を参照してください。

エージェント向けの最適化

コンテキストコマンド
コンプライアンスの簡易チェック/configure:security --check-only
すべてのセキュリティ上の不足を自動修正/configure:security --fix
依存関係のみ/configure:security --type dependencies
シークレット検出のみ/configure:security --type secrets
SAST スキャンのみ/configure:security --type sast
シークレットスキャンを検証gitleaks detect --source . --verbose

エラー処理

  • パッケージマネージャーが検出されない場合:依存関係の監査をスキップします
  • GitHub Actions を利用できない場合:CI の制限について警告します
  • 履歴内にシークレットが見つかった場合:修正ガイドを提示します
  • CodeQL がサポートしていない言語の場合:その言語の SAST をスキップします

関連項目

コメント