← ClaudeAtlas

security-checklisted

Use when the user asks for a security review, vulnerability scan, secure coding check, OWASP-style audit, secret leak detection, injection/auth/access-control review, or penetration-test preparation.
iamtatsuki05/dotfiles · ★ 0 · AI & Automation · score 56
Install: claude install-skill iamtatsuki05/dotfiles
# Security Check コードベースのセキュリティ脆弱性を体系的に検出・分析する。 ## ワークフロー ``` セキュリティチェック依頼 │ ├─ 特定ファイル/PR → 対象コードを読み取り、直接分析 │ └─ プロジェクト全体 → 以下のフェーズを順に実行 │ ├─ Phase 1: シークレット・機密情報スキャン ├─ Phase 2: インジェクション脆弱性スキャン ├─ Phase 3: 認証・認可チェック ├─ Phase 4: 依存関係チェック └─ Phase 5: レポート生成 ``` ## Phase 1: シークレット・機密情報スキャン Grepで以下のパターンを検索: ```bash # APIキー・シークレット rg -i "(api[_-]?key|secret|password|token|credential)\s*[:=]\s*['\"][^'\"]+['\"]" # AWSキー rg "AKIA[0-9A-Z]{16}" # プライベートキー rg "-----BEGIN (RSA |EC |DSA |OPENSSH )?PRIVATE KEY-----" # 環境変数の直接埋め込み rg -i "(DB_PASSWORD|JWT_SECRET|STRIPE_KEY)\s*=" ``` **除外対象**: `.env.example`, `*.test.*`, `*_test.go`, `mock*` 検出した secret 候補は値を再掲しない。ファイル、行、種類、露出の疑いを示し、値は先頭/末尾数文字も含めて原則マスクする。明らかなテスト fixture や `.env.example` でも、実在する形式のキーに見える場合は誤検知候補として分類する。 ## Phase 2: インジェクション脆弱性スキャン ### SQLインジェクション ```bash # 文字列連結によるSQL構築 rg "SELECT.*FROM.*WHERE.*\+|f['\"]SELECT|format.*SELECT" rg "execute\(.*\+|query\(.*\+" ``` ### コマンドインジェクション ```bash # シェルコマンド実行 rg "os\.system\(|subprocess.*shell=True|exec\(|eval\(" rg "child_process\.exec\(|spawn.*shell:" rg "Runtime\.getRuntime\(\)\.exec\(" ``` ### XSS ```bash # 安全でな��HTML出力 rg "innerHTML\s*=|dangerouslySetInnerHTML|v-html=" rg "\.html\(.*\$|document\.write\(" ``` ### デシリアライゼーション ```bash rg "pickle\.load|yaml\.load\((?!.*SafeLoader)|unserialize\(|ObjectInputStream" ``` ## Phase 3: 認証・認可チェック ### 認証の確認事項 - パスワードハッシュアルゴリズム(bcrypt/Argon2推奨) - セッション管理の安全性 -