セキュリティ マスターカリキュラム

ADHD向け設計: 1セッション25-30分 / 実例+アンチパターン中心 / 「やられる側」と「守る側」両方の視点


環境

  • メイン: Mac のターミナル + Go プロジェクト + Docker 環境(Week 4 以降構築済み前提)
  • 検証用脆弱アプリ: 必要に応じて DVWAOWASP Juice Shop を Docker で立てて手で攻撃
  • 依存関係スキャン: pnpm audit, govulncheck, trivy などのCLI

なぜセキュリティを学ぶか

バックエンドエンジニアにとってセキュリティは「やる/やらない」の選択肢ではなく、書いたコードが既に攻撃面

  • 認証バグ → 他人のアカウントに不正ログイン
  • SQL Injection → DB 丸ごと漏洩
  • シークレットの誤コミット → AWS のキー流出で課金爆発

「動くものを作る」までは独学でいけるが、「安全に公開できるものを作る」には体系的な知識が要る。本章はその最短ルート。


Level 1: 基礎概念(Week 7)


Level 2: 実装(Week 10)


Level 3: 運用(Week 12)


進捗

  • Level 1 完了(Week 7)
  • Level 2 完了(Week 10)
  • Level 3 完了(Week 12)

セキュリティ学習のADHD向けTips

  1. 「攻撃して理解する」が最速: 教科書の言葉だけで覚えると忘れる。DVWA や Juice Shop で実際に SQLi を打ち込むと一生忘れない
  2. 完璧な防御を目指さない: 全脅威に対応するのは不可能。「OWASP Top 10 + よくあるミス」だけ押さえれば実務OK
  3. チェックリスト化: コードレビュー時に確認するセキュリティ項目をテンプレ化
  4. 小さい依存を信用しすぎない: 1行のライブラリが攻撃ベクトルになる時代。pnpm audit を CI に
  5. シークレットは絶対に Git に入れない: pre-commit フックで防御。1度でも入れたら漏洩前提でローテーション

このカリキュラムを終えた時の到達点

  • OWASP Top 10 を見て「これはこう対策する」と即答できる
  • Go の Web API に JWT 認証を組み込み、CSRF/CORS 対策ができる
  • .env / シークレットを安全に管理し、デプロイパイプラインに組み込める
  • VPS の SSH 公開鍵化・ufw 設定・fail2ban を自分で構築できる
  • 依存関係の脆弱性を定期スキャンする運用が組める
  • インシデント発生時に最低限の対応(証跡確保、ログ調査)ができる