security-reviewlisted
Install: claude install-skill ttamakijp/dev-templates
# Security Review Skill / セキュリティレビュースキル
## Overview
Performs security-focused code review aligned with OWASP Mobile Top 10 (2024) for Android projects. Each category includes a check perspective, Android-specific example, and grep command to assist manual auditing.
**Keywords**: security, owasp, android, mobile, review, vulnerability, checklist
## OWASP Mobile Top 10 (2024) Checklist
### M1: Improper Credential Usage
- **チェック観点**: ハードコードされた認証情報、平文パスワードの保存、シークレットのソース管理混入
- **Android 具体例**: `BuildConfig.API_KEY`、`SharedPreferences` への平文トークン保存
- **grep 例**: `grep -rn "password\s*=\s*\"" --include="*.kt" .`
### M2: Inadequate Supply Chain Security
- **チェック観点**: 依存ライブラリの既知脆弱性、未固定バージョン、署名検証なしのプラグイン
- **Android 具体例**: `build.gradle` の `+` バージョン指定、未検証の Gradle プラグイン
- **grep 例**: `grep -n ":[0-9]\+\.\+" build.gradle* | grep "\+"`
### M3: Insecure Authentication/Authorization
- **チェック観点**: 不十分なセッション管理、クライアント側のみ権限チェック、弱いトークン生成
- **Android 具体例**: `intent.getExtra()` で渡されるユーザ種別を UI 層のみで検証
- **grep 例**: `grep -rn "isAdmin\|isRoot\|checkPermission" --include="*.kt" .`
### M4: Insufficient Input/Output Validation
- **チェック観点**: SQL インジェクション、パス・トラバーサル、XSS(WebView)、不正な型変換
- **Android 具体例**: `rawQuery(input, null)`、`webView.loadUrl(userInput)`
- **grep 例**: `grep -rn "rawQuery\|execSQL\|loadUrl" --include="*.kt" .`
### M5: Insecure Communication
- **チェック観点**: HTTP 通信、証明書検証の無効化、弱い TLS バージョン
- **Android 具体例**: `network_security_config.xml` の `cleartextTrafficPermitted="true"`、`TrustAllCert