File contents Security Expert Skill
発火条件(リポジトリ判定)
認証/認可、入力、ファイルアップロード、外部API連携、決済、個人情報、管理画面、セキュリティ事故対応、ログ/監査の相談で適用する。
doc/input/rdd.md の「非機能要件(セキュリティ)」がある場合は必ず参照し、優先順位を確認する。
このSkillの基本方針(整理軸)
基本方針: 「攻撃者視点」で穴を探し、「開発者視点」で運用可能な最小の対策に落とす。
デフォルト安全: 許可リスト(allowlist)・最小権限・安全な失敗(fail closed)を基本にする。
秘密情報: secretsは .env 等の管理外に置き、クライアントに送らない(PUBLIC環境変数にしない)。
思想(判断ルール)
セキュリティは機能。要件・設計・実装・運用の全レイヤに跨る。
入力は信じない(検証/正規化/サイズ制限)。出力は漏らさない(情報最小化)。
認可は認証より難しい。権限モデルを先に言語化し、境界で必ず検査する。
ログは監査のために残すが、秘密情報・個人情報は残さない(マスキング/縮退)。
自作暗号・自作認証は避け、デファクトの枠組みを使う(採用根拠を示す)。
進め方(最初に確認する問い)
守る対象は?(アカウント、個人情報、金銭、業務データ)
攻撃面は?(API、フォーム、アップロード、Webhook、管理画面)
誰が何をできる?(権限モデル:ロール/スコープ/所有者)
失敗時の挙動は?(遮断/縮退/通知/監査)
出力フォーマット(必ずこの順)
脅威の整理(守る対象/攻撃面/想定攻撃)
推奨対策(最小セット)
設計(認可境界/入力検証/秘密情報/ログ/エラー応答)
検証(テスト/自動化/運用チェック)
落とし穴
次アクション(小さく適用する順)
チェックリスト(実装レビュー用)
入力検証
認証・認可
秘密情報
Webの基本
よくある落とし穴
「認証したから安全」として認可を省略する
エラーメッセージやログに秘密情報を残す
入力検証をブラックリストで行い抜け道が残る
1 --- 2 name: security-expert 3 description: Security Expert 4 --- 5 6 # Security Expert Skill 7 8 ## 発火条件(リポジトリ判定) 9 - 認証/認可、入力、ファイルアップロード、外部API連携、決済、個人情報、管理画面、セキュリティ事故対応、ログ/監査の相談で適用する。 10 - `doc/input/rdd.md` の「非機能要件(セキュリティ)」がある場合は必ず参照し、優先順位を確認する。 11 12 ## このSkillの基本方針(整理軸) 13 - 基本方針: 「攻撃者視点」で穴を探し、「開発者視点」で運用可能な最小の対策に落とす。 14 - デフォルト安全: 許可リスト(allowlist)・最小権限・安全な失敗(fail closed)を基本にする。 15 - 秘密情報: secretsは `.env` 等の管理外に置き、クライアントに送らない(PUBLIC環境変数にしない)。 16 17 ## 思想(判断ルール) 18 1. セキュリティは機能。要件・設計・実装・運用の全レイヤに跨る。 19 2. 入力は信じない(検証/正規化/サイズ制限)。出力は漏らさない(情報最小化)。 20 3. 認可は認証より難しい。権限モデルを先に言語化し、境界で必ず検査する。 21 4. ログは監査のために残すが、秘密情報・個人情報は残さない(マスキング/縮退)。 22 5. 自作暗号・自作認証は避け、デファクトの枠組みを使う(採用根拠を示す)。 23 24 ## 進め方(最初に確認する問い) 25 - 守る対象は?(アカウント、個人情報、金銭、業務データ) 26 - 攻撃面は?(API、フォーム、アップロード、Webhook、管理画面) 27 - 誰が何をできる?(権限モデル:ロール/スコープ/所有者) 28 - 失敗時の挙動は?(遮断/縮退/通知/監査) 29 30 ## 出力フォーマット(必ずこの順) 31 1. 脅威の整理(守る対象/攻撃面/想定攻撃) 32 2. 推奨対策(最小セット) 33 3. 設計(認可境界/入力検証/秘密情報/ログ/エラー応答) 34 4. 検証(テスト/自動化/運用チェック) 35 5. 落とし穴 36 6. 次アクション(小さく適用する順) 37 38 ## チェックリスト(実装レビュー用) 39 ### 入力検証 40 - [ ] allowlist(型/形式/範囲/サイズ)で検証しているか 41 - [ ] 正規化(trim/Unicode等)とエラーメッセージ最小化ができているか 42 43 ### 認証・認可 44 - [ ] 認可チェックが「必ず」境界で実行されるか(UIだけに寄せない) 45 - [ ] IDOR(他人のID参照)になっていないか(所有者検証) 46 47 ### 秘密情報 48 - [ ] secretsがクライアントへ露出していないか(ログ/例外/ENV/レスポンス) 49 - [ ] トークン/鍵のローテーション方針があるか(最低限の運用手順) 50 51 ### Webの基本 52 - [ ] CSRF/SSR、XSS、SQLi/NoSQLi、パス・トラバーサル等の基本リスクを検討したか 53 - [ ] レート制限/ロックアウト/監査ログ(必要箇所)があるか 54 55 ## よくある落とし穴 56 - 「認証したから安全」として認可を省略する 57 - エラーメッセージやログに秘密情報を残す 58 - 入力検証をブラックリストで行い抜け道が残る 59
mae616/ai-template/tree/main/.claude/skills/security-expert commit beec80395d
Frequently asked questions How do I install the Security Expert skill? Run npx skillmds@latest add mae616/security-expert in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Security Expert skill do? Security Expert It is listed under Security on SkillMD.
Is Security Expert safe to use? This skill has not completed SkillMD's automated safety review yet. Capability flags: docs only. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Security Expert? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Security Expert free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Security Expert? mae616 (@mae616) published this skill. Their other Agent Skills are listed on their SkillMD profile.