以下の内容はhttps://kakakakakku.hatenablog.com/entry/2025/08/25/080819より取得しました。


GitHub Actions でアクションの SHA 固定を強制できる「Enforce SHA pinning」

2025年8月15日に GitHub Actions で「特定のアクションやバージョンをブロックする機能」「アクションの SHA 固定を強制する機能」がリリースされた💡

github.blog

たとえば GitHub Actions で使っているアクションにバックドア的な脆弱性が組み込まれてしまった場合のリスクを抑制できる.今年だと tj-actions/changed-files の件があったりした.

nvd.nist.gov

個人的に「アクションの SHA 固定を強制する機能 (Enforce SHA pinning)」に興味があってさっそく試してみた❗️今回はサンプルとして actions/checkout を使う.

github.com

👾 .github/workflows/deploy.yml(バージョン固定)

まずは Enforce SHA pinning を有効化せずに actions/checkout@v5.0.0(バージョン固定)を指定すると問題なく実行できる👌

name: sandbox-github-actions-sha-pinning

on:
  workflow_dispatch:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5.0.0
      - name: Run deployment
        run: echo 'Start deployment🚀'

Enforce SHA pinning を有効化する

ちなみに Enforce SHA pinning は「リポジトリレベル」「Organization レベル」で設定できる.今回はリポジトリレベルで設定する.もし仕事で Enforce SHA pinning を有効化するときに最初から Organization レベルで設定してしまうと既存リポジトリへの影響が大きそうではある💨

リポジトリレベルで Enforce SHA pinning を設定する

Organization レベルで Enforce SHA pinning を設定する

Enforce SHA pinning を有効化して実行する

次に Enforce SHA pinning を有効化して実行すると actions/checkout@v5.0.0(バージョン固定)では以下のエラーになった🚨

Error: The action actions/checkout@v5.0.0 is not allowed in kakakakakku/sandbox-github-actions-sha-pinning because all actions must be pinned to a full-length commit SHA.

👾 .github/workflows/deploy.yml(SHA 固定)

今度は actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8(SHA 固定)を指定する✅️

name: sandbox-github-actions-sha-pinning

on:
  workflow_dispatch:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
      - name: Run deployment
        run: echo 'Start deployment🚀'

すると今度は実行できた❗️

まとめ

2025年8月15日にリリースされた GitHub Actions の「アクションの SHA 固定を強制する機能 (Enforce SHA pinning)」を試してみた👌

今回はシンプルなワークフローで試したので,普段使っているもっと複雑なワークフローにも適用してみようと思う.

関連ドキュメント

docs.github.com

docs.github.com




以上の内容はhttps://kakakakakku.hatenablog.com/entry/2025/08/25/080819より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14