security-review について
security-reviewは、コードベースのセキュリティ上の問題を監査するエージェントスキルです。security-reviewerエージェントに詳細なレビューを委任し、OWASPのリスク、秘密情報、入力処理、認証、依存関係を調べます。
主な機能
- 01OWASP Top 10の脆弱性チェック
- 02ハードコードされた秘密情報の検出
- 03入力検証とインジェクションの確認
- 04認証と認可のレビュー
- 05依存関係の脆弱性チェック
- 06重要度別の指摘と修正優先度
活用シーン
- 01デプロイ前のAPIエンドポイント監査
- 02認証や認可の変更レビュー
- 03信頼できない入力を扱うコードの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yeachan-heo/ oh-my-claudecode --skill security-reviewインストール後、Claude Code で/security-reviewを入力して読み込まれたか確認します。
詳細
セキュリティレビューのスキル
OWASP Top 10 の脆弱性、ハードコードされたシークレット、安全でないパターンを確認し、徹底的なセキュリティ監査を実施します。
使用するタイミング
このスキルは、次の場合に有効になります。
- ユーザーが「セキュリティレビュー」または「セキュリティ監査」を依頼したとき
- ユーザー入力を処理するコードを書いた後
- 新しい API エンドポイントを追加した後
- 認証/認可ロジックを変更した後
- 本番環境にデプロイする前
- 外部依存関係を追加した後
機能
詳細なセキュリティ分析を行うため、security-reviewer エージェント(Opus モデル)に委任します。
-
OWASP Top 10 のスキャン
- A01:アクセス制御の不備
- A02:暗号化の失敗
- A03:インジェクション(SQL、NoSQL、コマンド、XSS)
- A04:安全でない設計
- A05:セキュリティの設定ミス
- A06:脆弱で古いコンポーネント
- A07:識別と認証の失敗
- A08:ソフトウェアとデータの整合性の失敗
- A09:セキュリティログとモニタリングの失敗
- A10:サーバーサイドリクエストフォージェリ(SSRF)
-
シークレットの検出
- ハードコードされた API キー
- ソースコード内のパスワード
- リポジトリ内の秘密鍵
- トークンと認証情報
- シークレットを含む接続文字列
-
入力検証
- すべてのユーザー入力がサニタイズされている
- SQL/NoSQL インジェクションの防止
- コマンドインジェクションの防止
- XSS の防止(出力のエスケープ)
- パストラバーサルの防止
-
認証/認可
- 適切なパスワードハッシュ化(bcrypt、argon2)
- セッション管理のセキュリティ
- アクセス制御の適用
- JWT 実装のセキュリティ
-
依存関係のセキュリティ
- 既知の脆弱性を確認するために
npm auditを実行 - 古くなった依存関係を確認
- 深刻度の高い CVE を特定
- 既知の脆弱性を確認するために
エージェントへの委任
Task(
subagent_type="oh-my-claudecode:security-reviewer",
model="opus",
prompt="SECURITY REVIEW TASK
Conduct comprehensive security audit of codebase.
Scope: [specific files or entire codebase]
Security Checklist:
1. OWASP Top 10 scan
2. Hardcoded secrets detection
3. Input validation review
4. Authentication/authorization review
5. Dependency vulnerability scan (npm audit)
Output: Security review report with:
- Summary of findings by severity (CRITICAL, HIGH, MEDIUM, LOW)
- Specific file:line locations
- CVE references where applicable
- Remediation guidance for each issue
- Overall security posture assessment"
)
外部への相談(任意)
security-reviewer エージェントは、相互検証のために Claude Task エージェントに相談してもかまいません。
手順
- まず独自にセキュリティ分析を行う — レビューを独立して完了します
- 検証のために相談する — Claude Task エージェントを通じて調査結果を相互確認します
- 批判的に評価する — 外部の調査結果を決して盲目的に採用しないでください
- 適切にフォールバックする — 委任が利用できない場合でも、決して作業を妨げないでください
相談するタイミング
- 認証/認可のコード
- 暗号化の実装
- 信頼できないデータの入力検証
- リスクの高い脆弱性パターン
- 本番環境へのデプロイコード
相談を省略するタイミング
- リスクの低いユーティリティコード
- 十分に監査されたパターン
- 時間が重要なセキュリティ評価
- 既存のセキュリティテストがあるコード
ツールの使用方法
相互検証には Task(subagent_type="oh-my-claudecode:security-reviewer", ...) を使用します。
注: セキュリティに関するセカンドオピニオンには大きな価値があります。CRITICAL/HIGH の調査結果については、相談を検討してください。
出力形式
SECURITY REVIEW REPORT
======================
Scope: Entire codebase (42 files scanned)
Scan Date: 2026-01-24T14:30:00Z
CRITICAL (2)
------------
1. src/api/auth.ts:89 - Hardcoded API Key
Finding: AWS API key hardcoded in source code
Impact: Credential exposure if code is public or leaked
Remediation: Move to environment variables, rotate key immediately
Reference: OWASP A02:2021 – Cryptographic Failures
2. src/db/query.ts:45 - SQL Injection Vulnerability
Finding: User input concatenated directly into SQL query
Impact: Attacker can execute arbitrary SQL commands
Remediation: Use parameterized queries or ORM
Reference: OWASP A03:2021 – Injection
HIGH (5)
--------
3. src/auth/password.ts:22 - Weak Password Hashing
Finding: Passwords hashed with MD5 (cryptographically broken)
Impact: Passwords can be reversed via rainbow tables
Remediation: Use bcrypt or argon2 with appropriate work factor
Reference: OWASP A02:2021 – Cryptographic Failures
4. src/components/UserInput.tsx:67 - XSS Vulnerability
Finding: User input rendered with dangerouslySetInnerHTML
Impact: Cross-site scripting attack vector
Remediation: Sanitize HTML or use safe rendering
Reference: OWASP A03:2021 – Injection (XSS)
5. src/api/upload.ts:34 - Path Traversal Vulnerability
Finding: User-controlled filename used without validation
Impact: Attacker can read/write arbitrary files
Remediation: Validate and sanitize filenames, use allowlist
Reference: OWASP A01:2021 – Broken Access Control
...
MEDIUM (8)
----------
...
LOW (12)
--------
...
DEPENDENCY VULNERABILITIES
--------------------------
Found 3 vulnerabilities via npm audit:
CRITICAL: [email protected] - Server-Side Request Forgery (CVE-2021-3749)
Installed: [email protected]
Fix: npm install [email protected]
HIGH: [email protected] - Prototype Pollution (CVE-2020-8203)
Installed: [email protected]
Fix: npm install [email protected]
...
OVERALL ASSESSMENT
------------------
Security Posture: POOR (2 CRITICAL, 5 HIGH issues)
Immediate Actions Required:
1. Rotate exposed AWS API key
2. Fix SQL injection in db/query.ts
3. Upgrade password hashing to bcrypt
4. Update vulnerable dependencies
Recommendation: DO NOT DEPLOY until CRITICAL and HIGH issues resolved.
セキュリティチェックリスト
security-reviewer エージェントは、次の項目を検証します。
認証と認可
- 強力なアルゴリズム(bcrypt/argon2)でパスワードがハッシュ化されている
- セッショントークンが暗号学的に安全な乱数で生成されている
- JWT トークンが適切に署名され、検証されている
- すべての保護対象リソースでアクセス制御が適用されている
- 認証バイパスの脆弱性がない
入力検証
- すべてのユーザー入力が検証され、サニタイズされている
- SQL クエリでプレースホルダーが使用されている(文字列連結なし)
- NoSQL クエリでインジェクションが防止されている
- ファイルアップロードが検証されている(種類、サイズ、内容)
- SSRF を防ぐために URL が検証されている
出力エンコード
- XSS を防ぐために HTML 出力がエスケープされている
- JSON レスポンスが適切にエンコードされている
- エラーメッセージにユーザーデータが含まれていない
- Content-Security-Policy ヘッダーが設定されている
シークレット管理
- ハードコードされた API キーがない
- ソースコード内にパスワードがない
- リポジトリ内に秘密鍵がない
- シークレットに環境変数が使用されている
- シークレットがログに記録されたり、エラーに含まれたりしていない
暗号化
- 強力なアルゴリズムが使用されている(AES-256、RSA-2048 以上)
- 適切な鍵管理が行われている
- 乱数の生成に暗号学的に安全な方法が使用されている
- 機密データに対して TLS/HTTPS が強制されている
依存関係
- 依存関係に既知の脆弱性がない
- 依存関係が最新である
- CRITICAL または HIGH の CVE がない
- 依存関係のソースが検証済みである
重大度の定義
CRITICAL - 深刻な影響をもたらす、悪用可能な脆弱性(データ侵害、RCE、認証情報の窃取) HIGH - 特定の条件が必要だが、深刻な影響をもたらす脆弱性 MEDIUM - 影響が限定的、または悪用が困難なセキュリティ上の弱点 LOW - ベストプラクティスへの違反、または軽微なセキュリティ上の懸念
修正の優先順位
- 漏えいしたシークレットをローテーションする - 即時(1 時間以内)
- CRITICAL を修正する - 緊急(24 時間以内)
- HIGH を修正する - 重要(1 週間以内)
- MEDIUM を修正する - 計画的に対応(1 か月以内)
- LOW を修正する - バックログに追加(都合のよいとき)
他のスキルとの併用
Pipeline との併用:
/pipeline security "review authentication module"
explore → security-reviewer → executor → security-reviewer-low(再検証)を使用します
Swarm との併用:
/swarm 4:security-reviewer "audit all API endpoints"
複数のエンドポイントを対象に、セキュリティレビューを並行して実施します。
Ralph との併用:
/ralph security-review then fix all issues
すべての問題が解決するまで、レビュー、修正、再レビューを繰り返します。
ベストプラクティス
- 早期にレビューする - 後付けではなく、設計段階からセキュリティを考慮します
- 頻繁にレビューする - 主要な機能の追加や API の変更のたびに実施します
- 自動化する - CI/CD パイプラインでセキュリティスキャンを実行します
- 速やかに修正する - セキュリティ上の負債をため込まないようにします
- 知識を深める - 今後の問題を防ぐため、検出事項から学びます
- 修正を検証する - 修正後にセキュリティレビューを再実行します