Skip to content
cccskills
FreePublished on GitHub

security-expert

脅威と攻撃面を洗い出し、最小権限と安全な失敗で守るための判断軸。認証/認可、入力検証、秘密情報管理、監査ログ等の設計・実装・レビューで使う。

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Security Expert Skill

発火条件(リポジトリ判定)

  • 認証/認可、入力、ファイルアップロード、外部API連携、決済、個人情報、管理画面、セキュリティ事故対応、ログ/監査の相談で適用する。
  • doc/input/rdd.md の「非機能要件(セキュリティ)」がある場合は必ず参照し、優先順位を確認する。

このSkillの基本方針(整理軸)

  • 基本方針: 「攻撃者視点」で穴を探し、「開発者視点」で運用可能な最小の対策に落とす。
  • デフォルト安全: 許可リスト(allowlist)・最小権限・安全な失敗(fail closed)を基本にする。
  • 秘密情報: secretsは .env 等の管理外に置き、クライアントに送らない(PUBLIC環境変数にしない)。

思想(判断ルール)

  1. セキュリティは機能。要件・設計・実装・運用の全レイヤに跨る。
  2. 入力は信じない(検証/正規化/サイズ制限)。出力は漏らさない(情報最小化)。
  3. 認可は認証より難しい。権限モデルを先に言語化し、境界で必ず検査する。
  4. ログは監査のために残すが、秘密情報・個人情報は残さない(マスキング/縮退)。
  5. 自作暗号・自作認証は避け、デファクトの枠組みを使う(採用根拠を示す)。

進め方(最初に確認する問い)

  • 守る対象は?(アカウント、個人情報、金銭、業務データ)
  • 攻撃面は?(API、フォーム、アップロード、Webhook、管理画面)
  • 誰が何をできる?(権限モデル:ロール/スコープ/所有者)
  • 失敗時の挙動は?(遮断/縮退/通知/監査)

出力フォーマット(必ずこの順)

  1. 脅威の整理(守る対象/攻撃面/想定攻撃)
  2. 推奨対策(最小セット)
  3. 設計(認可境界/入力検証/秘密情報/ログ/エラー応答)
  4. 検証(テスト/自動化/運用チェック)
  5. 落とし穴
  6. 次アクション(小さく適用する順)

チェックリスト(実装レビュー用)

入力検証

  • allowlist(型/形式/範囲/サイズ)で検証しているか
  • 正規化(trim/Unicode等)とエラーメッセージ最小化ができているか

認証・認可

  • 認可チェックが「必ず」境界で実行されるか(UIだけに寄せない)
  • IDOR(他人のID参照)になっていないか(所有者検証)

秘密情報

  • secretsがクライアントへ露出していないか(ログ/例外/ENV/レスポンス)
  • トークン/鍵のローテーション方針があるか(最低限の運用手順)

Webの基本

  • CSRF/SSR、XSS、SQLi/NoSQLi、パス・トラバーサル等の基本リスクを検討したか
  • レート制限/ロックアウト/監査ログ(必要箇所)があるか

よくある落とし穴

  • 「認証したから安全」として認可を省略する
  • エラーメッセージやログに秘密情報を残す
  • 入力検証をブラックリストで行い抜け道が残る

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

セマンティックHTML/JSXとWAI-ARIAを「最小で正しく」適用し、キーボード操作・スクリーンリーダ・コントラスト等を満たす実装を作るための判断軸。ネイティブ要素優先、ARIAの過剰使用を避ける。

The English summary is being prepared. Showing the original description.

mae616/ai-template9Updated Oct 6, 2026

Agent Browser(Headlessブラウザ自動化CLI)を使ったUI検証・E2Eテスト・スクリーンショット取得の判断軸。アクセシビリティツリーベースの要素選択を優先し、壊れにくいテスト設計を目指す。

The English summary is being prepared. Showing the original description.

mae616/ai-template9Updated Oct 6, 2026

ディズニーの12原則とジブリ的自然運動をベースに、UIアニメーションの「なぜ動かすか」「どう動かすか」を判断する。アニメーション/モーション/トランジション設計の相談で、ツール非依存の概念的判断軸として使う。

The English summary is being prepared. Showing the original description.

mae616/ai-template9Updated Oct 6, 2026

アーキテクチャ設計(境界/依存/データフロー/非機能/運用)を、制約とトレードオフで言語化し、ADR-liteで合意形成しながら段階的に形にする。doc/input/rdd.md にアーキテクチャ/非機能/運用の要求がある、または設計判断(分割/責務/インタフェース/データ整合/観測性/スケール)相談で使う。

The English summary is being prepared. Showing the original description.

mae616/ai-template9Updated Oct 6, 2026

事業仮説を支える一次/二次情報を整理し、意思決定に足る「根拠」「不確実性」「次の調査」を可視化する。でたらめな引用や推測の断言を避け、出典の実在を重視する。

The English summary is being prepared. Showing the original description.

mae616/ai-template9Updated Oct 6, 2026

体験品質(動き/触感/視線誘導)を「実装可能な制約」に落とし、アクセシビリティとパフォーマンスを犠牲にせずに表現を実現する。UIの表現・アニメーション・インタラクション設計/実装の相談で使う。

The English summary is being prepared. Showing the original description.

mae616/ai-template9Updated Oct 6, 2026

See all skills by mae616

Report a problem with this skill