Skip to content

sec(ci): GitHub Actions use mutable version tags instead of SHA-pinned refs #439

Closed

Description

@cristim

Files: All workflow files under .github/workflows/

Examples of unpinned actions: actions/checkout@v5, aws-actions/configure-aws-credentials@v6, google-github-actions/auth@v3, azure/login@v3, hashicorp/setup-terraform@v4, docker/build-push-action@v7, golangci/golangci-lint-action@v9.

Mutable tags can be redirected to malicious commits if the action author's account is compromised. The deploy workflows run with id-token: write and access to all cloud credentials.

aquasecurity/trivy-action@0.30.0 uses a version string (not a major tag) but is still not SHA-pinned.

Fix: Pin all third-party actions to their full commit SHAs. Use pin-github-actions or Dependabot with versioning-strategy: lockfile-only to maintain the pins automatically.

Activity

  1. cristim commented on May 28, 2026

    @cristim
    MemberAuthor

    Verified shipped: PR #536 (merged 2026-05-22, commit 5441f9e) updated all 15 workflow files under .github/workflows/ pinning actions/checkout, aws-actions/configure-aws-credentials, golangci-lint-action, and all other third-party actions to full commit SHAs. Commit is present on feat/multicloud-web-frontend.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions