ADR-0196 (依存関係の週次自動更新有効化 · Accepted 2026-07-03) §11 実装配線「docs SSoT 同期」の一環で新設。SOC 2 Trust Services Criteria CC7.1 (脆弱性検出) / CC8.1 (変更管理承認) 準拠の証跡保存要件を単一所在とする。

対象は Dependabot Version/Security Update 履歴が起点だが、将来的に GDPR / ISO 27001 / PCI-DSS 系の audit doc が加わる場合は本 doc を拡張して単一所在を維持する。

対象データ

Dependabot 対応履歴 (ADR-0196 発火)

  • Alerts: GitHub Dependabot Alerts の open/close 履歴 (severity · GHSA 番号 · manifest_path)
  • Version Update PR: 週次発火 PR の起票日 · merge 日 · CI 通過状況
  • Security Update PR: 脆弱性検出 → PR 化 → merge (or dismiss) 経路の全記録
  • 手動対応: Security Update PR 化されない alert (upstream 未対応) の発注 handover · dismiss 判定履歴

承認履歴 (SOC 2 CC8.1)

  • CODEOWNERS 承認済 PR の記録 (patch/minor auto-merge でも 1 承認必須)
  • Branch Protection 設定変更履歴 (gh api repos/.../branches/main/protection)

四半期サニティチェック結果

  • 実施日 · 対象 PR (13 週分) · 抽出方法 (層化サンプリング N=5) · 発見事項 · 対応履歴
  • ADR-0196 §9-5 準拠 (認知バイアス検出目的)

保存先

改ざん不可 bucket (優先度順):

  1. GCS bucket (推奨): gs://bizlp-audit-evidence (Object Retention Lock 有効 · Retention Policy 1 年以上)
  2. BigQuery table: bizlp-gas-accounting-dev:audit.dependabot_evidence (Time Travel 7 日 + Backup 定期エクスポート)
  3. S3 fallback: 現時点は GCS/BQ 前提 · S3 移行検討時は本 doc を更新

エクスポート script: scripts/dependabot_sla_export.mjs (ADR-0196 §11 実装配線 · main 発注中 · 期限 2026-07-17)

保存期間

  • 最短保存: 1 年 (SOC 2 CC8.1 監査対応最低ライン)
  • 推奨保存: 3 年 (ISO 27001 A.12.4 準拠 · 将来監査対応)
  • 削除禁止: Object Retention Lock で保存期間中の削除・上書きを物理防御

改ざん不可要件

技術要件

  • GCS Object Retention Lock: bucket レベル + object レベル両方で有効化 · retention policy 1 年以上 lock
  • BigQuery: partitioned table + require_partition_filter=true で誤削除防止 · Time Travel 7 日 + weekly snapshot 別 dataset
  • 署名付き証跡: 各 export の SHA256 hash を docs/_internal/06_ops/audit_evidence_hashes/YYYY-MM.txt (別 file · doc 領分) に記録

運用要件

  • 実行者権限分離 (Claude 指摘 · Gemini/o3 suggestion 反映):
    • エクスポート実行 SA と bucket 削除権限は 別 SA に分離
    • エクスポート SA = roles/storage.objectCreator のみ (削除・上書き権なし)
    • bucket 管理 SA = 別途 (人手承認要のパスに限定)
  • 監査 log: gcp/audit-logs で export 実行 + retention lock 変更を全記録

Dependabot 対応履歴 (時系列)

2026-07-03 (doc session)

  • 44 alerts open = critical 1 + high 13 + medium 23 + low 7 (npm ecosystem)
  • 3 発注に振り分け (PR #4183):
    • critical vitest → main
    • drp 領分 20 件 → drp (hono 9 + undici 7 + ws 2 + esbuild 1 + uuid 1)
    • root/tools 領分 23 件 → main
  • Version Update PR 9 件 open (main #4055 dependabot.yml 初回 weekly cycle 発火):
    • patch/minor 3 件 auto-merge 済 (#4067 react-dom / #4064 langsmith / #4063 turbo)
    • major 6 件 継承 (#4066 vite / #4062 @types/node / #4059 openai / #4058-4056 github-actions)
  • ADR-0196 Accepted (PR #4146 · 48/50 Standard 通過)
  • ADR-0196 §11 実装発注済 (main 宛 · workflow 3 + SLA export script · 期限 2026-07-17)

四半期サニティチェック履歴

(初回実施予定: 2026-10-03 · 実施後追記)

関連

  • ADR-0196 (依存関係の週次自動更新有効化) — 本 doc の起点 ADR
  • ADR-0155 (静的シークレットのクラウド集約 · WIF) — GCS/BQ アクセスの WIF 経路
  • ADR-0181 (VLT ドメイン新設 · Object Retention Lock) — 帳票保存の retention 実装との整合
  • docs/_internal/05_how-to/dependency_management.md — Dependabot 運用ルール
  • SOC 2 Trust Services Criteria CC7.1 / CC8.1 (脆弱性対応・変更管理承認)
  • ISO 27001 A.12.4 (Logging and monitoring)