mcpField
S
security-ops

security-ops

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

security-ops について

security-opsは、ソフトウェアプロジェクト向けのセキュリティ監査スキルです。技術スタックを検出し、依存関係、SAST、認証・設定のレビューを並行して実施し、重要度順のOWASPレポートにまとめます。PHP、Twig、Craft CMS向けの資料も含みます。

主な機能

  1. 01技術スタックと監査範囲の検出
  2. 023種類の読み取り専用監査を並行実行
  3. 03重要度順の整理とOWASP 2025への対応付け
  4. 04PHP、Twig、Craft CMS向け資料
  5. 05依存関係とコードパターンのスキャンスクリプト

活用シーン

  1. 01依存関係の既知脆弱性の確認
  2. 02ソースコード内の危険なパターンの検出
  3. 03認証、設定、セキュリティヘッダーの確認

インストール

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

$npx skills add https://github.com/0xdarkmatter/claude-mods --skill security-ops

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

同梱ファイル

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

assets/
.gitkeep
references/
audit-agent-prompts.md
audit-quickref.md
auth-account-protection.md
auth-patterns.md
craft-access-control.md
craft-advisories.md
craft-config-hardening.md
craft-csrf-forms.md
craft-graphql-security.md
craft-uploads-assets.md
crypto-patterns.md
ddev-config-drift.md
owasp-top10-a01-a05.md
owasp-top10-a06-a10.md
php-composer-supply-chain.md
php-deserialisation.md
php-input-validation.md
php-password-hashing.md
php-sql-queries.md
secure-headers.md
twig-escaping.md
twig-template-injection.md
scripts/
dependency-audit.sh
security-scan.sh
tests/fixtures/bad/
config_general.php
eval_case.py
hardcoded_secret.py
misc_sinks.php
open_controller.php

詳細

セキュリティ運用

セキュリティ監査のオーケストレーターです。プロジェクトのスタックをインラインで検出し、3 つの監査エージェント(依存関係、SAST、認証/設定レビュー)を並列に実行して、重大度順にランク付けし、OWASP に対応付けたレポートにまとめます。PHP 8.x、Twig、Craft CMS 3/4/5 向けに、トピック別のリファレンスを提供します。

検出結果では、リファレンスと同様に OWASP Top 10:2025 ID(https://top10.owasp.org/2025/)を使用します。すべてのレポートで改訂版が明記されるよう、`A05:2025` の形式で記載してください。2025 年版ではリストの番号が変更されています(Injection は A03 から A05 へ、Misconfiguration は A05 から A02 へ、SSRF は A01 に統合、新たに A03 Supply Chain と A10 Exceptional Conditions が追加)。2021 年版のタグが付いたレポートは、番号だけで対応させず、references/audit-quickref.md のクロスウォークを使って変換してください。

スタックの振り分け

T1 の検出結果に基づいてリファレンスを読み込みます。各リファレンスは 1 つのトピックを扱い、300 行以下で、冒頭に目次があり、すぐに実行できる rg パターンを使ったレビューチェックリストで終わります。

検出対象リファレンス対象範囲
任意の Web アプリreferences/owasp-top10-a01-a05.mdA01-A05:2025:アクセス制御+SSRF、設定ミス、サプライチェーン、暗号化、インジェクション
references/owasp-top10-a06-a10.mdA06-A10:2025:設計、認証、完全性、ログ記録+アラート、例外的な条件
references/audit-quickref.mdトリアージシート:2025 年版の表、2021 年版から 2025 年版へのクロスウォーク、検証、シークレット、grep パターン
references/secure-headers.mdCSP、HSTS、フレーミング、リファラーおよび権限ヘッダー
認証/暗号化コードreferences/auth-patterns.mdパスワードハッシュ、セッション、JWT、OAuth2
references/auth-account-protection.mdMFA、レート制限、ロックアウト、パスワードリセット
references/crypto-patterns.mdAES-GCM、KDF、署名、鍵の保管
PHP 8.x(composer.json)references/php-input-validation.mdリクエストヘルパー、filter_var、型ジャグリング、パス、マスアサインメント
references/php-sql-queries.mdクエリビルダーと生 SQL の比較、識別子、PDO、要素クエリのパラメーター
references/php-deserialisation.mdunserialize、JSON、phar、署名付きデータ
references/php-password-hashing.mdpassword_hash、Argon2id/bcrypt、旧式ハッシュ、トークン
references/php-composer-supply-chain.mdcomposer audit、アドバイザリのブロック、allow-plugins、本番環境へのインストール
Twigreferences/twig-escaping.md自動エスケープ、コンテキスト戦略、|raw、Craft の出力ヘルパー
references/twig-template-injection.mdSSTI のシンク、動的 include、Craft のサンドボックス、Twig の最低バージョン
Craft CMS(craftcms/cms)references/craft-config-hardening.md.env、セキュリティキー、devMode、本番環境の設定
references/craft-access-control.md権限、allowAnonymous、require ヘルパー、要素の認証
references/craft-csrf-forms.mdcsrfInput、ハッシュ化された入力、静的キャッシュ、Blitz、Formie
references/craft-uploads-assets.md許可されるタイプ、プライベートボリューム、変換に関する CVE
references/craft-graphql-security.mdスキーマ、トークン、制限、イントロスペクション、CORS
references/craft-advisories.mdサポート期間、悪用された CVE、トリアージ、EOL の緩和策
DDEV(.ddev/config.yaml)references/ddev-config-drift.mdローカルと本番環境の PHP/Craft 設定、データ、ddev share。DDEV の仕組みと .ddev/ の監査ツール:ddev-ops

Craft 3 と Craft 4 はセキュリティサポートが終了しています(それぞれ 2024-04-30、2026-04-30)。どちらかを監査する場合は、この検出結果を最初に提示してください(craft-advisories.md)。

アーキテクチャ

User requests security audit or mentions security concern
    |
    +---> T1: Detect (inline, fast)
    |       +---> Identify languages/frameworks in project
    |       +---> Check installed audit tools
    |       +---> Determine scope (changed files vs full codebase)
    |       +---> Present: detection summary + recommended audit
    |
    +---> T2: Audit (3 parallel agents, background)
    |       +---> Agent 1: Dependency Audit
    |       |       +---> Run pip-audit, npm audit, govulncheck, cargo audit, trivy
    |       |       +---> Report: CVE IDs, severity, affected + fix versions
    |       |
    |       +---> Agent 2: Code Pattern Scan (SAST)
    |       |       +---> Hardcoded secrets, injection, XSS, eval, shell, weak crypto
    |       |       +---> Report: file:line, pattern, severity, fix suggestion
    |       |
    |       +---> Agent 3: Auth & Config Review
    |       |       +---> Session, CSRF, CORS, CSP, JWT, OAuth, rate limiting, env vars
    |       |       +---> Report: finding, severity, OWASP category, remediation
    |       |
    |       +---> Consolidate: deduplicate, rank by severity, map to OWASP Top 10:2025
    |
    +---> T3: Remediate (dispatch general-purpose + skill preload, foreground + confirm)
            +---> Agent proposes specific fixes
            +---> Preflight: what changes, security impact, risk of breaking
            +---> User confirms
            +---> Apply fixes

安全性のティア

操作ティア実行方法
言語/フレームワークの検出T1インライン
インストール済みの監査ツールの確認T1インライン
スコープの判定(変更分と全体)T1インライン
依存関係の脆弱性スキャンT2エージェント 1(バックグラウンド)
コードパターンのスキャン(SAST)T2エージェント 2(バックグラウンド)
認証と設定のレビューT2エージェント 3(バックグラウンド)
検出結果の統合T2インライン(エージェントの結果受信後)
コード内の脆弱性の修正T3スキルを事前読み込みしたエージェント+確認
脆弱な依存関係の更新T3スキルを事前読み込みしたエージェント+確認
セキュリティヘッダーの追加T3スキルを事前読み込みしたエージェント+確認

T1:検出 — インラインで実行

確認項目コマンド/方法
Python プロジェクトrequirements.txt、pyproject.toml、Pipfile の有無を確認
Node.js プロジェクトpackage.json、package-lock.json の有無を確認
Go プロジェクトgo.mod の有無を確認
Rust プロジェクトCargo.toml の有無を確認
DockerDockerfile、docker-compose.yml の有無を確認
PHP プロジェクトcomposer.json、composer.lock の有無を確認。PHP のバージョンは config.platform.php または require.php から確認
Craft CMScomposer.json 内の craftcms/cms。バージョンは composer show craftcms/cms で確認
Twig テンプレートfd -e twig、または Craft プロジェクトの templates/ 配下にある .html ファイル
DDEV.ddev/config.yaml の有無を確認(PHP ツールは ddev composer / ddev exec で実行)
composer の利用可否which composer 2>/dev/null(composer audit には 2.4 以降が必要)
pip-audit の利用可否which pip-audit 2>/dev/null
npm audit の利用可否which npm 2>/dev/null
govulncheck の利用可否which govulncheck 2>/dev/null
cargo-audit の利用可否which cargo-audit 2>/dev/null
trivy の利用可否which trivy 2>/dev/null
スコープ:変更ファイルgit diff --name-only HEAD
スコープ:コードベース全体fd -e py -e js -e ts -e go -e rs -e php -e twig

T2:監査 — 3 つのエージェントを並列で実行

すべての監査エージェントで model="sonnet"、run_in_background=True を使用します。すべて読み取り専用です。ファイルを絶対に編集しないよう、明示的に指示してください。

references/audit-agent-prompts.md から各プロンプトをコピーし、T1 の情報で {...} の箇所を埋めます。 各エージェントの作業内容を以下に示します。出力の振り分けと妥当性確認に使用してください。

エージェント最初に読むもの検出内容報告内容
1 依存関係の監査scripts/dependency-audit.sh。PHP の場合:php-composer-supply-chain.md、Craft の場合:craft-advisories.mdpip-audit、npm audit、govulncheck、cargo audit、trivy、composer audit --locked による脆弱なパッケージ重大度順の表:パッケージ、バージョン、CVE、修正済みバージョン、A03:2025
2 コードパターンのスキャン(SAST)scripts/security-scan.sh、両方の owasp-top10-*.md。検出された場合は PHP/Twig の参照資料も読むインジェクション、SSRF、ハードコードされたシークレット、弱い暗号化、安全でないデシリアライズ、フェイルオープンの例外処理。PHP/Twig のチェックリスト rg パターンfile:line、パターン、OWASP 2025 ID、重大度、修正方法 — カテゴリー別に分類
3 認証と設定のレビューauth-patterns.md、auth-account-protection.md、secure-headers.md。検出された場合は Craft/DDEV の参照資料も読む認証、認可、CSRF、CORS、ヘッダー、Cookie、セッション、エラー処理。Craft と DDEV のチェックリストPASS/FAIL/N-A のチェックリスト、カテゴリー別に分類した検出結果
統合

3 つのエージェントがすべて結果を返したら、その場で統合します。

  1. 重複を排除 - 複数のエージェントに現れる指摘(例:Agent 1 と Agent 2 の両方が見つけたハードコードされたシークレット)を削除します。
  2. 重大度でランク付け:
    • Critical: リモートコード実行、SQL インジェクション、本番環境でのシークレットの漏えい(リクエストデータに対する unserialize()、Twig SSTI、コミット済みの Craft セキュリティキー、CISA-KEV に掲載された範囲内の Craft バージョンを含む)
    • High: XSS、認証の不備、アクセス制御の欠如、悪用可能な既知の CVE(サポート終了後の Craft 3/4、本番環境での devMode の有効化、状態を変更するアクションでの $allowAnonymous = true、例外発生時に許可する認可チェックを含む)
    • Medium: 暗号化の脆弱性、セキュリティヘッダーの欠如、安全でないデフォルト設定
    • Low: 情報提供、ベストプラクティスの提案、TODO 項目
  3. OWASP Top 10:2025 に対応付け - 各指摘に Axx:2025 <Category> のタグを付けます(例:A05:2025 Injection)。古いレポートとの統合や差分比較を行う場合は、references/audit-quickref.md の対応表を使って 2021 年の ID を変換してください。同じ番号でも改訂版によってカテゴリが異なります。
  4. レポートを作成(下記の「レポート形式」を参照)

T3:修正 - スキルを事前読み込みして、確認後にディスパッチ

ユーザーが指摘の修正を希望した場合は、関連する言語の -ops スキルを事前読み込みした general-purpose エージェントをディスパッチします。

言語の振り分け(perf-ops と同じ):

指摘の種類ディスパッチ先事前読み込み
Python の脆弱性general-purposeトピックに関連する skills/python-*/SKILL.md
Node.js/JS の脆弱性general-purposeskills/javascript-ops/SKILL.md
TypeScript の脆弱性general-purposeskills/typescript-ops/SKILL.md
Go の脆弱性general-purposeskills/go-ops/SKILL.md
Rust の脆弱性general-purposeskills/rust-ops/SKILL.md
SQL インジェクション / DB セキュリティgeneral-purposeskills/postgres-ops/SKILL.md
Craft CMS / Twig / PHPgeneral-purposeskills/craftcms-ops/SKILL.md + ここにある該当する php-、twig-、または craft- のリファレンス
Laravelgeneral-purposeskills/laravel-ops/SKILL.md
Composer / 依存関係のサプライチェーン(A03:2025)general-purposeskills/supply-chain-defense/SKILL.md
一般 / 設定 / ヘッダーgeneral-purpose-

references/audit-agent-prompts.md の T3 事前確認プロンプトを使ってディスパッチします。エージェントはまず、変更案、セキュリティへの影響、破損のリスク、検証方法、元に戻す方法を提示し、ユーザーが確認するまで何も適用しません。

レポート形式

references/audit-agent-prompts.md のテンプレート(レポート形式)に沿ってレポートを作成します。対象範囲、言語、OWASP revision: Top 10:2025、カテゴリごとの重大度の概要、重大度別の指摘(file:line と OWASP 2025 ID を含む)、その後にチェック済みの項目を記載します。

フォールバック:エージェントを利用できない場合

エージェントのディスパッチに失敗した場合は、インラインスキャンに切り替えます。

  1. Bash 経由で scripts/dependency-audit.sh を直接実行します。
  2. Bash 経由で scripts/security-scan.sh を直接実行します。
  3. ripgrep を使って認証パターンを手動で確認します。
  4. 結果をまとめて提示します(エージェントベースの監査より構造化が不十分です)。

リファレンス一覧:先頭の Stack Routing を参照してください。

スクリプト

スクリプト目的
scripts/dependency-audit.sh多言語対応の依存関係脆弱性スキャナー(pip-audit、npm、govulncheck、cargo、trivy、composer)
scripts/security-scan.shripgrep ベースのコードパターンスキャナー(Python、JS、PHP、Twig、Craft の設定)

関連項目

スキル組み合わせるタイミング
auth-ops認証・認可の実装パターンを詳しく確認する場合
craftcms-opsCraft のコンテンツモデリング、Twig、要素クエリ、プラグインなど、「方法」を扱います。このスキルが扱うのは「安全な方法」です
supply-chain-defensecomposer audit の範囲を超える、依存関係の動作スキャン、リリースのクールダウン、IOC の照合
laravel-opsLaravel 固有の修正
testing-opsセキュリティに重点を置いたテストケースの生成
monitoring-opsセキュリティイベントのログ記録とアラート
debug-opsセキュリティインシデントの調査

コメント