Skip to content

ci: GITHUB_TOKEN権限の最小化とActionsのSHAピン留め (#19)#24

Merged
ieee0824 merged 1 commit into
masterfrom
chore/ci-hardening
Jun 17, 2026
Merged

ci: GITHUB_TOKEN権限の最小化とActionsのSHAピン留め (#19)#24
ieee0824 merged 1 commit into
masterfrom
chore/ci-hardening

Conversation

@ieee0824

Copy link
Copy Markdown
Owner

概要

CI ワークフローのサプライチェーン/権限ハードニングと、Node.js 20 deprecated 警告の解消をまとめて行います。

Closes #19

背景(監査検出 + CI 警告)

  • add readme #11 ワークフローに permissions: が無く、GITHUB_TOKEN がリポジトリ既定(しばしば read-write)にフォールバック。ジョブは go test のみで contents: read で十分
  • Update README.jp.md #12 actions/checkout@v4 / actions/setup-go@v5 が可変タグ参照。タグ乗っ取り/リポジトリ侵害時に攻撃者コードが透過的に走る
  • 直近の CI で actions/checkout@v4 / actions/setup-go@v5Node.js 20 deprecated(2026-09-16 削除予定)の警告を出していた

変更点

  • 最小権限を明示: トップレベルに permissions: contents: read(add readme #11)
  • Actions を SHA ピン留め(Update README.jp.md #12):
    • actions/checkoutdf4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
    • actions/setup-go4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
    • いずれも runs.using: node24 を確認済み → Node.js 20 deprecated も解消
  • Dependabot 追加(.github/dependabot.yml): github-actions を weekly 更新し、SHA ピンの陳腐化を防止

検証

  • ピンした SHA が各リリースタグ(v6.0.3 / v6.4.0)に解決されることを GitHub API で確認済み
  • test.yml / dependabot.yml の YAML 妥当性を確認済み
  • マージ前の本 PR の CI 実行が、ピン留め後ワークフローの動作確認を兼ねます

🤖 Generated with Claude Code

## 理由
CI ワークフローに明示的な permissions が無く GITHUB_TOKEN が過剰権限に
フォールバックし得る、Actions が可変タグ参照でタグ乗っ取り時にサプライチェーン
リスクがある、加えて checkout@v4 / setup-go@v5 が Node.js 20 で deprecated 警告を
出していた(#19)。

## 修正点
- permissions: contents: read を最小権限として明示(#11)
- actions/checkout を v6.0.3 (df4cb1c)、actions/setup-go を v6.4.0 (4a36011) に
  コミット SHA でピン留め(#12)。両者とも node24 稼働で Node.js 20 deprecated も解消
- .github/dependabot.yml を追加し、github-actions の更新を自動化して
  SHA ピンの陳腐化を防止
@ieee0824 ieee0824 merged commit 9b5b7bb into master Jun 17, 2026
1 check passed
@ieee0824 ieee0824 deleted the chore/ci-hardening branch June 17, 2026 06:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: GITHUB_TOKEN権限の最小化とActionsのSHAピン留め

1 participant