Skip to content

deploy.yml の GITHUB_TOKEN 権限を最小化する #8

Description

@kochizufan

1.0.0 サイクルのセキュリティレビューで Major として挙がり、未対処のまま残っているもの。

現状(実測 2026-08-26)

.github/workflows/deploy.yml:9-10

permissions:
  contents: write

なぜ問題か

GitHub Pages への配備であれば、必要な権限は pages: write + id-token: write であり、contentsread で足りるcontents: write はリポジトリの中身を書き換えられる権限であり、workflow 内で実行される任意のコード(依存パッケージの postinstall を含む)がそれを使える。

やること

permissions:
  contents: read
  pages: write
  id-token: write

配備方式が peaceiris/actions-gh-pages 系(gh-pages ブランチへ push)である場合は contents: write が必要なので、その場合は公式の actions/deploy-pages へ寄せるかどうかから判断する。まず現行の配備方式を確認すること。

関連

Nagarjuna にも同一の設定がある。→ code4history/Nagarjuna#10

出どころ

1.0.0 サイクルのセキュリティレビュー docs/superpowers/reviews/2026-08-25-cycle1-maplat-1-0-release-security-review-v1.md。「次のトレインで」として申し送られた。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcarried-backlog那由多サイクル finalize の申し送り由来train:next次の月次トレインで出す(既定)。policy §4.3

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions