mcpField
L
ln-760-security-setup

ln-760-security-setup

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

ln-760-security-setup について

プロジェクトのセキュリティ設定を調整するスキルです。シークレットスキャンと依存関係の脆弱性検査をまとめ、リスクを集約し、セキュリティ文書、pre-commit設定、CIワークフロー、除外パターンを作成または更新します。

主な機能

  1. 01シークレットと脆弱性のスキャンを調整
  2. 02重要度別に所見を集約
  3. 03SECURITY.mdを作成または更新
  4. 04pre-commitとCIのテンプレートを設定
  5. 05シークレット関連の.gitignoreパターンを追加

活用シーン

  1. 01プロジェクトのセキュリティ対策の初期設定
  2. 02CI/CDセキュリティパイプラインの準備
  3. 03シークレットと依存関係の脆弱性の確認

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-760-security-setup

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

同梱ファイル

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

references/
meta_analysis_protocol.md
references/templates/
ci_workflow_template.yaml
precommit_config_template.yaml
security_md_template.md

詳細

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

セキュリティ設定コーディネーター

タイプ: L2 ドメインコーディネーター カテゴリー: 7XX ブートストラップ

目的と範囲

  • シークレットスキャン(ln-761)と依存関係の脆弱性監査(ln-625)を調整します
  • 両方のワーカーからの検出結果を統合レポートにまとめます
  • セキュリティインフラストラクチャを生成します:SECURITY.md、pre-commit フック、CI ワークフロー
  • 全体的なセキュリティスコアとリスク評価を提示します

使用する場面

  • プロジェクトのブートストラップ中(ln-700-project-bootstrap から呼び出されます)
  • 手動でのセキュリティ監査の依頼
  • CI/CD パイプラインの初期化

ワークフロー

フェーズ 1:事前確認

ステップ 1:プロジェクトの種類を検出

  • 主なエコシステムを特定します:Node.js、.NET、Python、Go など
  • 既存のセキュリティ設定(.gitleaks.toml、SECURITY.md)を確認します

ステップ 2:ツールの利用可否を確認

  • シークレットスキャンに gitleaks/trufflehog を利用できることを確認します
  • エコシステム固有の監査ツールを利用できることを確認します
  • ツールが見つからない場合は警告を記録します(処理は失敗させません)

ステップ 3:既存の設定を読み込む

  • .gitleaks.toml が存在する場合:保持することを記録します
  • SECURITY.md が存在する場合:上書きではなく更新することを記録します
  • .pre-commit-config.yaml が存在する場合:gitleaks フックを確認します
フェーズ 2:スキャンを委任

ステップ 1:ln-761 シークレットスキャナーを呼び出す

  • Agent ツールを使用して委任します
  • 受け取る内容:検出結果リスト、重大度の概要、修正ガイダンス

ステップ 2:ln-625 依存関係監査ツールを呼び出す(mode=vulnerabilities_only)

  • Agent ツールを使用して委任します(ステップ 1 と並行して実行できます)
  • パラメーターを渡します:mode=vulnerabilities_only
  • 受け取る内容:脆弱性リスト、CVSS スコア、修正の推奨事項
フェーズ 3:レポートを集約

ステップ 1:検出結果を統合

  • 両方のワーカーからの検出結果を統合します
  • 重大度別に分類します(Critical を最初に)
  • 全体的なセキュリティスコアを算出します

ステップ 2:リスク評価

  • Critical の検出結果:直ちに対応するよう警告します
  • High の検出結果:48 時間以内の修正を推奨します
  • Medium/Low:バックログに追加します

ステップ 3:概要を作成

  • スキャンしたファイル数
  • 検出されたシークレット(重大度別)
  • 検出された脆弱性(重大度別)
  • 全体的な pass/warn/fail ステータス
フェーズ 4:出力を生成

ステップ 1:SECURITY.md を作成/更新

  • references/templates/security_md_template.md のテンプレートを使用します
  • 既存の場合:カスタムセクションを保持して更新します
  • 新規の場合:プレースホルダーを含めて生成します

ステップ 2:Pre-commit フックを設定

  • .pre-commit-config.yaml がない場合:テンプレートから作成します
  • 存在するが gitleaks がない場合:追加を推奨します
  • テンプレート:references/templates/precommit_config_template.yaml

ステップ 3:CI ワークフローを生成

  • .github/workflows/security.yml がない場合:テンプレートから作成します
  • テンプレート:references/templates/ci_workflow_template.yaml
  • エコシステム固有の監査ジョブを含めます

ステップ 4:.gitignore を更新

  • シークレット関連のパターンが含まれていることを確認します:
    • .env、.env.*、!.env.example
    • *.pem、*.key
  • 既存のエントリーを保持します

ワーカーの呼び出し(必須)

ホストスキルの呼び出し: Skill(skill: "...", args: "...") による委任が必須です。

  • Claude:表示どおりに Skill ツールを呼び出してください。
  • Codex:Skill ツールがない場合は、利用可能なスキルから指定されたスキルを見つけて SKILL.md を読み、args を $ARGUMENTS として扱い、そのスキルのワークフローを実行してから、結果または成果物を持って戻ってください。
  • ワーカーのロジックをインラインで記述したり、対象スキルを実行せずにワーカーを完了扱いにしたりしないでください。

重要: すべての委任では、コンテキストを分離するために subagent_type: "general-purpose" を指定した Agent ツールを使用してください。

ワーカー並列実行目的
ln-761-secret-scanner可ハードコードされたシークレットの検出
ln-625-dependency-reuse-auditor可脆弱性スキャン(mode=vulnerabilities_only)

プロンプトのテンプレート:

Agent(description: "Secret scanning via ln-761",
     prompt: "Execute security scanner.

Step 1: Invoke worker:
  Skill(skill: \"ln-761-secret-scanner\")

CONTEXT:
Project: {projectPath}",
     subagent_type: "general-purpose")

Agent(description: "Dependency vulnerability scan via ln-625",
     prompt: "Execute vulnerability scanner.

Step 1: Invoke worker:
  Skill(skill: \"ln-625-dependency-reuse-auditor\")

CONTEXT:
Project: {projectPath}
Mode: vulnerabilities_only (only CVE scan, skip outdated/unused checks)",
     subagent_type: "general-purpose")

パターン: 両方のワーカーは Agent ツールで並列に実行し、その後、結果を集約できます。

アンチパターン:

  • ❌ Agent ツールでラップせずに Skill ツールを直接呼び出す
  • ❌ サブエージェントによるコンテキスト分離を回避する実行
  • ❌ mode パラメーターを指定せずに ln-625 を呼び出す(フル監査が実行されます)

完了の定義

  • 両方のワーカー(ln-761、ln-625)を呼び出し、完了している
  • 検出結果を重大度別に分類して集約している
  • SECURITY.md を作成または更新している
  • Pre-commit フックを設定している(または推奨事項を記録している)
  • CI ワークフローを生成している(または推奨事項を記録している)
  • .gitignore をシークレットのパターンで更新している
  • サマリーレポートを親オーケストレーターに返している

TodoWrite の形式(必須)

- Phase 1: Invoke secret scanner ln-761 (pending)
- Phase 2: Invoke dependency auditor ln-625 (pending)
- Phase 3: Aggregate findings (pending)
- Phase 4: Generate security artifacts (pending)
- Phase 5: Return summary (pending)

メタ分析

任意の参考資料:実行後のメタ分析またはプロトコル形式の実行振り返りをユーザーが求めた場合にのみ、references/meta_analysis_protocol.md を読み込んでください。

スキルの種類:planning-coordinator。求められた場合は、すべてのフェーズの完了後に実行してください。プロトコル形式でチャットに出力します。

参考ファイル

ファイル目的
references/templates/security_md_template.mdSECURITY.md 生成用テンプレート
references/templates/precommit_config_template.yamlPre-commit フックの設定
references/templates/ci_workflow_template.yamlGitHub Actions のセキュリティワークフロー

重要なルール

  • ln-625 には必ず mode=vulnerabilities_only を渡してください — ブートストラップのコンテキストではフル監査モードは適切ではありません
  • 既存の設定を保持してください — .gitleaks.toml、SECURITY.md、または .pre-commit-config.yaml が存在する場合は、上書きせずに更新してください
  • すべてのワーカー委任で、subagent_type: "general-purpose" を指定した Agent ツールを使用してください(コンテキストの分離)
  • ツールが見つからなくても処理を中断しないでください — 利用できないスキャナーの警告を記録し、利用可能なスキャナーで続行してください
  • 重大な検出結果がある場合は完了できません — 親に返す前に、直ちに対応が必要であることを明示してください

バージョン: 3.0.0 最終更新日: 2026-02-05

コメント