Security Review Skill
Overview
OWASP Top 10をベースにWebアプリケーションのセキュリティをレビューします。
Security Checklist
1. インジェクション (A03:2021)
- SQLインジェクション
- パラメータ化クエリを使用しているか
- ORMを適切に使用しているか
- コマンドインジェクション
- シェルコマンドに外部入力を渡していないか
- XSS (Cross-Site Scripting)
- 出力エスケープを行っているか
- Content Security Policyを設定しているか
2. 認証・認可 (A01:2021, A07:2021)
- パスワード
- 適切なハッシュアルゴリズム(bcrypt, Argon2)を使用
- ソルトを使用しているか
- パスワード強度要件があるか
- セッション管理
- セッションIDは十分にランダムか
- セッションタイムアウトを設定しているか
- ログアウト時にセッションを破棄しているか
- アクセス制御
- 認可チェックが各エンドポイントにあるか
- 水平権限昇格の脆弱性がないか
3. 機密データ (A02:2021)
- 暗号化
- 機密データは暗号化されているか
- HTTPSを強制しているか
- 認証情報
- APIキー、パスワードがハードコードされていないか
- 環境変数を使用しているか
- ログ
- 機密情報をログに出力していないか
4. 入力検証
- すべての入力を検証しているか
- ホワイトリスト方式を採用しているか
- ファイルアップロードの制限があるか
5. 依存関係
- 既知の脆弱性がある依存パッケージがないか
- 依存関係を定期的に更新しているか
Output Format
レビュー結果は以下の形式で出力すること:
## 🔐 セキュリティレビュー結果
### 🚨 Critical(即時対応必須)
- [ファイル:行] 問題の説明
- 影響:
- 修正方法:
### ⚠️ High(早急に対応)
- [ファイル:行] 問題の説明
### 📋 Medium(計画的に対応)
- [ファイル:行] 問題の説明
### 💡 Recommendations
- 推奨事項
### ✅ Good Practices
- 良い点
Severity Criteria
- Critical: データ漏洩、認証バイパス、RCEの可能性
- High: XSS、CSRF、権限昇格の可能性
- Medium: 情報漏洩、設定ミス
- Low: ベストプラクティス違反