Priority: P2
Context
Sibling DX Toolkit repositories (azure-functions-db, azure-functions-doctor, azure-functions-scaffold) already document a strict "GitHub Actions Pinning" policy in CONTRIBUTING.md and pin every external uses: reference in .github/workflows/ to a full 40-character commit SHA. This repository is missing that policy section and has four unpinned refs in .github/workflows/e2e-azure.yml.
The rationale is the March 2025 tj-actions/changed-files supply-chain compromise (CVE-2025-30066), which exfiltrated CI secrets from ~23,000 repositories. Only workflows that had pinned to commit SHAs were safe. GitHub's own guidance now identifies SHA pinning as the only way to use an Action as an immutable release, and OpenSSF Scorecard flags weaker pinning as Medium-risk.
Acceptance Checklist
Out of scope
- Modifying
pypa/gh-action-pypi-publish@release/v1 (approved exception — PyPA-recommended stable channel)
- Modifying local composite actions (
uses: ./...)
References
Priority: P2
Context
Sibling DX Toolkit repositories (
azure-functions-db,azure-functions-doctor,azure-functions-scaffold) already document a strict "GitHub Actions Pinning" policy inCONTRIBUTING.mdand pin every externaluses:reference in.github/workflows/to a full 40-character commit SHA. This repository is missing that policy section and has four unpinned refs in.github/workflows/e2e-azure.yml.The rationale is the March 2025
tj-actions/changed-filessupply-chain compromise (CVE-2025-30066), which exfiltrated CI secrets from ~23,000 repositories. Only workflows that had pinned to commit SHAs were safe. GitHub's own guidance now identifies SHA pinning as the only way to use an Action as an immutable release, and OpenSSF Scorecard flags weaker pinning as Medium-risk.Acceptance Checklist
## GitHub Actions Pinningsection toCONTRIBUTING.mdmatching the wording used in sibling repos (db, doctor, scaffold)uses:references in.github/workflows/e2e-azure.ymlto commit SHAs with trailing version comments:actions/checkout@v7azure/login@v3.0.0(2 call sites)actions/setup-python@v6actions/upload-artifact@v7.0.1Out of scope
pypa/gh-action-pypi-publish@release/v1(approved exception — PyPA-recommended stable channel)uses: ./...)References
azure-functions-db/CONTRIBUTING.md(lines 46-102)