OWASP Top 10 ベースのセキュリティテスト観点とテストマトリクス。アプリケーション層で検出可能な脆弱性を体系的に洗い出すためのチェックリスト。tester Agent がセキュリティテストを書く際に使う。
OWASP Top 10 を基準とした、アプリケーション層で検出可能なセキュリティテストの観点集。 言語・フレームワークに依存しない普遍的な攻撃パターンと、それに対するテストケースをまとめる。
範囲外: A06(脆弱なコンポーネント)→ npm audit / Snyk、A09(ログ監視不備)→ 運用基盤、A10(SSRF の一部)→ インフラ層。これらは本 Skill の対象外。
最頻出。認証・認可・データ所有権の3軸で検証する。
各 Action / API に対して以下のマトリクスを適用する:
| 観点 | テストケース | 期待結果 |
|---|---|---|
| 未認証 | セッションなしで呼び出し | 拒否 |
| 権限不足 | 低権限ロールで呼び出し | 拒否(該当する場合) |
| 他テナント | 他テナントのリソース ID を指定 | 見つからない or 拒否 |
| 不正入力 | XSS / SQLi ペイロード | 無害化 or 拒否 |
| 余計なフィールド | role / storeId 等を入力に追加 | 無視される |
セキュリティテストは専用ディレクトリにカテゴリ別で配置すると見通しが良い:
__tests__/security/
access-control.test.ts # A01: 認証・認可・IDOR
injection.test.ts # A03: XSS・SQLi 等
data-protection.test.ts # A02 + A05: 機密データ・エラー情報漏洩
business-logic.test.ts # A04: レースコンディション・マスアサインメント
session.test.ts # A07 + A08: セッション管理・CSRF
ディレクトリ構成は既存パターンに合わせる。
.claude/config/security.yml にプロジェクト固有のチェック項目があれば、それを優先する。