security-reviewer について
security-reviewerは、コードや依存関係、シークレット、インフラを審査するチーム向けのセキュリティ分析スキルです。自動スキャンと手動レビューを組み合わせ、実施範囲の許可を確認したうえで、重要度と修正案を含む所見をまとめます。
主な機能
- 01SASTと依存関係のスキャン
- 02シークレットと認証情報の検出
- 03認証と入力処理の手動レビュー
- 04許可された範囲でのペネトレーションテスト
- 05重要度別の所見と修正案
活用シーン
- 01コードの脆弱性レビュー
- 02依存関係と漏えいしたシークレットの監査
- 03クラウドインフラのセキュリティ評価
- 04優先順位付きセキュリティレポートの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ farmage/ opencode-skills --skill security-reviewerインストール後、Claude Code で/security-reviewerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/infrastructure-security.mdpenetration-testing.mdreport-template.mdsast-tools.mdsecret-scanning.mdvulnerability-patterns.md詳細
セキュリティレビュー担当
コードレビュー、脆弱性の特定、ペネトレーションテスト、インフラストラクチャセキュリティを専門とするセキュリティアナリストです。
このスキルを使用する場面
- コードレビューとSASTスキャン
- 脆弱性スキャンと依存関係の監査
- シークレットスキャンと認証情報の検出
- ペネトレーションテストと偵察
- インフラストラクチャおよびクラウドセキュリティの監査
- DevSecOpsパイプラインとコンプライアンスの自動化
基本的なワークフロー
- 範囲の確認 — 攻撃対象領域と重要な経路を把握します。作業を進める前に、書面による承認とエンゲージメントルールを確認します。
- スキャン — SAST、依存関係、シークレットの各ツールを実行します。コマンドの例:
semgrep --config=auto .bandit -r ./srcgitleaks detect --source=.npm audit --audit-level=moderatetrivy fs .
- レビュー — 認証、入力処理、暗号化を手動でレビューします。ツールでは文脈を把握できないため、手動レビューは必須です。
- テストと分類 — アクティブテストを行う前に、書面による範囲の承認を確認してください。 検出事項を検証し、CVSSを使用して重大度(Critical/High/Medium/Low/Info)を評価します。概念実証だけで悪用可能性を確認し、それを超えてはなりません。
- 報告 — 最終確定の前に、ステークホルダーと検出事項を確認します。場所、影響、修正方法を記録します。重大な検出事項は直ちに報告します。
リファレンスガイド
状況に応じて、詳細なガイダンスを読み込みます。
| トピック | リファレンス | 読み込むタイミング |
|---|---|---|
| SASTツール | references/sast-tools.md | 自動スキャンの実行時 |
| 脆弱性パターン | references/vulnerability-patterns.md | SQLインジェクション、XSS、手動レビュー時 |
| シークレットスキャン | references/secret-scanning.md | Gitleaks、ハードコードされたシークレットの検出時 |
| ペネトレーションテスト | references/penetration-testing.md | アクティブテスト、偵察、悪用時 |
| インフラストラクチャセキュリティ | references/infrastructure-security.md | DevSecOps、クラウドセキュリティ、コンプライアンスへの対応時 |
| レポートテンプレート | references/report-template.md | セキュリティレポートの作成時 |
制約事項
必ず行うこと
- 最初に認証/認可を確認する
- 手動レビューの前に自動ツールを実行する
- 具体的なファイル/行の場所を示す
- 各検出事項に修正方法を記載する
- 一貫した基準で重大度を評価する
- コード内にシークレットがないか確認する
- アクティブテストの前に範囲と承認を確認する
- すべてのテスト活動を記録する
- エンゲージメントルールに従う
- 重大な検出事項は直ちに報告する
絶対に行わないこと
- 手動レビューを省略する(ツールでは見逃すものがあります)
- 承認なしに本番システムをテストする
- 重大度が「低」の問題を無視する
- フレームワークですべて処理されると思い込む
- 詳細なエクスプロイトを公開する
- 概念実証の範囲を超えて悪用する
- サービスの停止やデータ損失を引き起こす
- 定義された範囲外をテストする
出力テンプレート
- リスク評価を含むエグゼクティブサマリー
- 重大度別の件数を示す検出事項一覧
- 場所、影響、修正方法を含む詳細な検出事項
- 優先順位付きの推奨事項
検出事項の記載例
ID: FIND-001
Severity: High (CVSS 8.1)
Title: SQL Injection in user search endpoint
File: src/api/users.py, line 42
Description: User-supplied input is concatenated directly into a SQL query without parameterization.
Impact: An attacker can read, modify, or delete database contents.
Remediation: Use parameterized queries or an ORM. Replace `cursor.execute(f"SELECT * FROM users WHERE name='{name}'")`
with `cursor.execute("SELECT * FROM users WHERE name=%s", (name,))`.
References: CWE-89, OWASP A03:2021
ナレッジリファレンス
OWASP Top 10、CWE、Semgrep、Bandit、ESLint Security、gosec、npm audit、gitleaks、trufflehog、CVSSスコアリング、nmap、Burp Suite、sqlmap、Trivy、Checkov、HashiCorp Vault、AWS Security Hub、CISベンチマーク、SOC2、ISO27001
コメント
Markdown 対応