リスクから逆算するセキュリティ学習ロードマップ
AIを使う開発者が、Web基礎、認証認可、脅威モデリング、クラウド、DevSecOps、AI固有リスクをどの順番で学ぶべきかを整理する。
なぜ逆算するのか
セキュリティの範囲は広い。暗号、ネットワーク、Web、クラウド、OS、マルウェア、フォレンジック、GRC、法規制、AIセキュリティまで全部を同時に学ぶと、何から実務に効くのか分からなくなる。
AIを使ってWeb/業務アプリを開発する人は、まず「自分が作るものがどこで壊れるか」から逆算するとよい。
AI時代でも、最初に必要なのは高度な攻撃手法ではなく、ユーザー入力、認証認可、データ保護、権限境界、開発プロセスを安全に扱う力である。
学習の全体像
Phase 1: Webアプリの壊れ方を知る
Phase 2: 認証・認可・データ保護を固める
Phase 3: 脅威モデリングで設計前に考える
Phase 4: クラウドと運用の被害範囲を理解する
Phase 5: DevSecOpsで開発フローに組み込む
Phase 6: LLM/エージェント固有のリスクを重ねる
AI固有リスクは最後に置いているが、重要度が低いという意味ではない。
AIリスクの多くは、既存の認可、入力検証、ログ、権限管理の失敗と接続しているため、土台を先に作るほうが理解しやすい。
Phase 1: Webアプリの壊れ方を知る
最初に学ぶべきは、Webアプリがなぜ攻撃されるのかである。
学習対象:
- HTTPリクエストとレスポンス
- Cookie、セッション、CSRF
- XSS、SQLインジェクション、SSRF
- ファイルアップロード、リダイレクト、CORS
- OWASP Top 10の全体像
到達目標:
- 「ユーザー入力はすべて改ざんできる」と説明できる
- フロントエンドのバリデーションを信用しない理由が分かる
- 典型的な脆弱性がどの層で起きるか分類できる
- AIが生成したコードに危険な文字列連結や出力処理を見つけられる
関連Docs:
- Webアプリセキュリティ概要
- インジェクション攻撃(SQLi・コマンド・XXE)
- XSS(クロスサイトスクリプティング)・CSP
- API セキュリティ(REST・GraphQL・OWASP API Top 10)
Phase 2: 認証・認可・データ保護を固める
AI時代の実害は、モデルの誤回答よりも、権限外データへのアクセスや重要操作の実行で大きくなることが多い。
学習対象:
- 認証と認可の違い
- セッション、JWT、OAuth/OIDC
- RBAC、ABAC、オブジェクト単位のアクセス制御
- 暗号化、鍵管理、秘密情報管理
- ログに残してよい情報と残してはいけない情報
到達目標:
- 「ログイン済み」と「そのリソースを操作できる」を分けて設計できる
- AIエージェントのツール権限を最小化できる
- RAGの検索範囲にユーザー権限を反映できる
- APIキーや個人情報をプロンプトやログに混ぜない設計ができる
関連Docs:
Phase 3: 脅威モデリングで設計前に考える
セキュリティは実装後のチェックリストだけでは足りない。
AI機能は、入力、外部データ、モデル、ツール、権限が複雑に接続されるため、設計段階で信頼境界を描く必要がある。
学習対象:
- STRIDE
- データフロー図
- 信頼境界
- 攻撃者視点の問い
- リスクの優先度付け
到達目標:
- AI機能のデータフローを図にできる
- 外部文書、モデル出力、ツール実行の信頼境界を説明できる
- 「どの脅威を受け入れ、どの脅威を対策するか」を判断できる
- セキュリティ要件を機能要件と一緒に書ける
関連Docs:
Phase 4: クラウドと運用の被害範囲を理解する
AIアプリはAPIキー、ベクトルDB、オブジェクトストレージ、ジョブ実行環境、外部LLM API、ログ基盤に依存する。
アプリのバグがクラウド権限と接続すると、被害範囲は一気に広がる。
学習対象:
- IAMと最小権限
- ネットワーク分離
- シークレット管理
- 監査ログ
- インシデントレスポンス
- コンテナ・Kubernetesの基本的な保護
到達目標:
- アプリ用、CI用、エージェント用の権限を分けられる
- LLMツール実行環境からアクセスできる範囲を制御できる
- 漏洩・誤操作が起きたときにログで追跡できる
- 本番データを安易に開発・検証用AIへ渡さない判断ができる
関連Docs:
Phase 5: DevSecOpsで開発フローに組み込む
AI開発は変更速度が速い。人間が最後にまとめてレビューするだけでは、生成コード、依存関係、設定ミスを拾いきれない。
学習対象:
- SAST、DAST、SCA
- Secret scanning
- Dependabotや脆弱性管理
- セキュリティレビュー観点
- CI/CDの権限設計
- Secure Software Development Framework
到達目標:
- PR時に最低限のセキュリティ検査を自動化できる
- AI生成コードのレビュー観点をチェックリスト化できる
- 脆弱性を「後で直す」ではなく優先度付きで管理できる
- セキュリティ指摘を開発者が理解できる言葉で説明できる
関連Docs:
Phase 6: LLM/エージェント固有のリスクを重ねる
最後に、LLM特有の攻撃面を既存の土台へ重ねる。
学習対象:
- プロンプトインジェクション
- RAG汚染
- 機密情報漏洩
- Excessive Agency
- モデル出力の検証
- AIリスク管理
- Human-in-the-Loop
到達目標:
- 外部コンテンツを「命令」ではなく「データ」として扱える
- モデル出力を実行前に検証できる
- エージェントの権限を読み取り、下書き、実行で分けられる
- AI機能の失敗モードを仕様として説明できる
関連Docs:
学習を進めるときの注意
ツール名より脅威モデルを優先する
Burp Suite、Semgrep、CodeQL、SIEM、EDRなどのツールは重要だが、先に「何を検出したいのか」を説明できる必要がある。
攻撃手順の暗記で止まらない
攻撃を知ることは重要だが、開発者に必要なのは、設計・実装・レビュー・運用で再発しない仕組みに変換する力である。
AIの回答を教材としても監査対象としても扱う
AIは学習を助けるが、間違った説明や古いベストプラクティスを出すことがある。
重要な判断は公式ドキュメント、標準、既存コード、テストで確認する。
参考リソース
- OWASP Top 10 - https://owasp.org/www-project-top-ten/
- OWASP Top 10 for LLM Applications - https://owasp.org/www-project-top-10-for-large-language-model-applications/
- NIST SP 800-218 Secure Software Development Framework - https://csrc.nist.gov/pubs/sp/800/218/final
- CISA Secure by Design - https://www.cisa.gov/securebydesign
- 1. 🤖AI開発時代のセキュリティとは
- 2. 🗺️AI開発時代のセキュリティリスク地図
- 3. 🧭リスクから逆算するセキュリティ学習ロードマップ
- 4. 🧠セキュリティスペシャリストに求められる人的能力
- 5. 🏢業界・業種で変わるセキュリティの見方
- 6. ⏳セキュリティのこれまでとこれから
出典: OWASP Top 10 / OWASP Top 10 for LLM Applications / NIST SP 800-218 SSDF / CISA Secure by Design