diff --git "a/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" "b/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" index bdea8ef..4a05f9e 100644 --- "a/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" +++ "b/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" @@ -21,6 +21,26 @@ main への直接プッシュを防ぐ場合,GitHub の Settings → Branches で main に保護ルール(PR 必須化)を設定する. +## 依存パッケージのセキュリティ設定 (Dependabot) + +GitHub の **Dependabot alerts**(既知脆弱性の検出)と **Dependabot security updates**(脆弱性を直す PR の自動作成)は**リポジトリごとに既定で OFF** であり,有効化しないと依存パッケージの脆弱性が一切通知されない.リポジトリ作成後に有効化する. + +前提: `gh auth login` 済みであり,実行者がリポジトリの admin 権限を持つこと.`{owner}/{repo}` は `gh` がリモートから自動補完するため,リポジトリの clone 内で実行する. + +```bash +# 有効化(冪等なので再実行してよい) +gh api -X PUT repos/{owner}/{repo}/vulnerability-alerts # Dependabot alerts(依存グラフも同時に有効化される) +gh api -X PUT repos/{owner}/{repo}/automated-security-fixes # Dependabot security updates + +# 検証 +gh api repos/{owner}/{repo}/vulnerability-alerts # 204 なら有効.404 なら無効 +gh api repos/{owner}/{repo}/automated-security-fixes # {"enabled":true,...} なら有効 +``` + +※ 本リポジトリ(`rintoHasegawa/TIASjudge`)では 2026-08-28 に有効化済み.fork・複製して新しいリポジトリを作った場合は改めて実行する. +※ 403 が返る場合は admin 権限またはトークンのスコープ不足.GitHub の Settings → Code security → Dependabot から手動で ON にする.404 の場合は `{owner}/{repo}` の補完に失敗しているため,`repos/rintoHasegawa/TIASjudge/...` のように明示する. +※ 依存バージョンの**定期更新 PR** は `.github/dependabot.yml`(Git 管理下)が担当しており,本節のリポジトリ設定とは独立に動作する.そのため本設定は `dependabot.yml` の有無に関係なく必要.更新 PR の処理には `/deps-update` を使う. + ## 旧実装データの保管 (Legacy Source) - `org/`(旧実装一式)は Git 管理外のため,紛失しないよう別途バックアップを保管する(クラウドストレージ等).新デバイスで参照したい場合はそこから取得する