セキュリティレビュー基準
コードレビュー時に以下の観点でセキュリティチェックを行う。
認証・認可
- •ハードコードされた認証情報(API key, password, token等)
- •認証トークンの安全な保管方法
- •認可チェックの実装(権限検証の欠落)
- •セッション管理の安全性
インジェクション攻撃
- •SQLインジェクション脆弱性
- •NoSQLインジェクション
- •コマンドインジェクション
- •XSS(Stored/Reflected/DOM-based)
- •LDAP/XMLインジェクション
入力検証とサニタイゼーション
- •ユーザー入力の検証不足
- •ファイルアップロードの検証
- •Content-Type検証
- •サイズ制限の実装
- •ホワイトリスト方式の採用
データ保護
- •機密情報のログ出力
- •暗号化の適切な実装
- •安全でない乱数生成
- •パスワードのハッシュ化(bcrypt、Argon2等)
API/ネットワークセキュリティ
- •CORS設定の安全性
- •CSRF対策の実装
- •Rate limitingの実装
- •HTTPSの強制
依存関係のセキュリティ
- •既知の脆弱性を持つライブラリ
- •最新版への更新の必要性
その他
- •パストラバーサル脆弱性
- •XXE(XML External Entity)攻撃
- •サーバーサイドリクエストフォージェリ(SSRF)
- •安全でないデシリアライゼーション