Skip to content

Request: Use SHA-pinned action references for security-constrained repositories #20

@rjmurillo

Description

@rjmurillo

Problem

Repositories with security rulesets requiring "all actions must be pinned to full-length commit SHA" cannot use Factory-AI/droid-action because it internally references actions using version tags instead of commit SHAs.

Error

When running the droid-action in a repository with SHA-pinning requirements:

The action actions/upload-artifact@v4 is not allowed in <repo> 
because all actions must be pinned to a full-length commit SHA.

Root Cause

In action.yml, the action uses:

- uses: actions/upload-artifact@v4

GitHub's repository rulesets apply SHA-pinning requirements recursively to all nested action dependencies, including those referenced by composite actions.

Requested Change

Update internal action references to use full-length commit SHAs:

# Before
- uses: actions/upload-artifact@v4

# After
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0

Why This Matters

  • SLSA Level 2+ compliance requires immutable action references
  • Supply chain security prevents tag manipulation attacks
  • Enterprise adoption often mandates SHA-pinning for all third-party actions
  • GitHub's security hardening guide recommends this practice: Security hardening for GitHub Actions

Affected Versions

Version SHA Status
v1 tag 65dab2847e1b4a8a24332cfdef116e4ac3777789 Contains non-pinned references
Latest e3f8be9f34bb41b11e852e836cb64e81f13fba59 Contains non-pinned references

Additional Context

This is a blocking issue for security-conscious organizations. We would like to use droid-action for automated PR reviews but cannot until internal dependencies are SHA-pinned.

Thank you for considering this enhancement!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions