Skip to content

Commit ad2af7f

Browse files
rohankmr414claude
andcommitted
ci: pin GitHub Actions to commit SHAs for supply chain security
Replace mutable tag references with immutable commit SHAs across workflow files. Original tags are preserved as inline comments. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 9f82b64 commit ad2af7f

1 file changed

Lines changed: 25 additions & 25 deletions

File tree

.github/workflows/ndc-python-lambda-connector.yaml

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
name: Build and test ndc-lambda-sdk
2121
runs-on: ubuntu-latest
2222
steps:
23-
- uses: actions/checkout@v4
24-
- uses: actions/setup-python@v5
23+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
24+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
2525
with:
2626
python-version: "3.12"
2727
- name: Install dependencies
@@ -40,7 +40,7 @@ jobs:
4040
name: Test connector
4141
runs-on: ubuntu-latest
4242
steps:
43-
- uses: actions/checkout@v4
43+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
4444
with:
4545
fetch-depth: 0
4646
- name: Test example functions.py works
@@ -53,10 +53,10 @@ jobs:
5353
commit_hash: ${{ steps.get_commit_hash.outputs.commit_hash }}
5454
sha256: ${{ steps.calculate_checksum.outputs.sha256 }}
5555
steps:
56-
- uses: actions/checkout@v4
56+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
5757
with:
5858
fetch-depth: 0 # This is important for git describe to work correctly
59-
- uses: actions/setup-python@v5
59+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
6060
with:
6161
python-version: "3.12"
6262
- name: Build connector
@@ -79,7 +79,7 @@ jobs:
7979
ls -la connector-definition/dist
8080
echo "Contents of connector-definition/dist/.hasura-connector:"
8181
ls -la connector-definition/dist/.hasura-connector
82-
- uses: actions/upload-artifact@v4
82+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
8383
with:
8484
name: connector-definition
8585
path: ./connector-definition/dist
@@ -89,28 +89,28 @@ jobs:
8989
name: Build and scan Docker image
9090
runs-on: ubuntu-latest
9191
steps:
92-
- uses: actions/checkout@v4
92+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
9393

9494
- name: Set up Docker Buildx
95-
uses: docker/setup-buildx-action@v3
95+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
9696

9797
- name: Build Docker image
98-
uses: docker/build-push-action@v6
98+
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
9999
with:
100100
context: .
101101
load: true
102102
tags: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ github.sha }}
103103

104104
- name: Run Trivy vulnerability scanner (json output)
105-
uses: aquasecurity/trivy-action@v0.35.0
105+
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
106106
with:
107107
image-ref: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ github.sha }}
108108
format: json
109109
output: trivy-results.json
110110
scanners: vuln
111111

112112
- name: Upload Trivy scan results to Security Agent
113-
uses: hasura/security-agent-tools/upload-file@v1
113+
uses: hasura/security-agent-tools/upload-file@f16c24be07f6cc89535b6fcdab29e15b1ee799b0 # v1
114114
with:
115115
file_path: trivy-results.json
116116
security_agent_api_key: ${{ secrets.SECURITY_AGENT_API_KEY }}
@@ -124,7 +124,7 @@ jobs:
124124
team=engine
125125
126126
- name: Fail build on High/Critical Vulnerabilities
127-
uses: aquasecurity/trivy-action@v0.35.0
127+
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
128128
with:
129129
skip-setup-trivy: true
130130
image-ref: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ github.sha }}
@@ -140,29 +140,29 @@ jobs:
140140
runs-on: ubuntu-latest
141141
if: startsWith(github.ref, 'refs/tags/v')
142142
steps:
143-
- uses: actions/checkout@v4
143+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
144144

145145
- name: Set up QEMU
146-
uses: docker/setup-qemu-action@v3
146+
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
147147

148148
- name: Set up Docker Buildx
149-
uses: docker/setup-buildx-action@v3
149+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
150150

151151
- name: Login to GitHub Container Registry
152-
uses: docker/login-action@v3
152+
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
153153
with:
154154
registry: ${{ env.DOCKER_REGISTRY }}
155155
username: ${{ github.actor }}
156156
password: ${{ secrets.GITHUB_TOKEN }}
157157

158158
- name: Extract metadata (tags, labels) for Docker
159159
id: docker-metadata
160-
uses: docker/metadata-action@v5
160+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
161161
with:
162162
images: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}
163163

164164
- name: Build and Push Docker image
165-
uses: docker/build-push-action@v6
165+
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
166166
with:
167167
context: .
168168
push: true
@@ -177,15 +177,15 @@ jobs:
177177
echo "image_tag=$IMAGE_TAG" >> $GITHUB_OUTPUT
178178
179179
- name: Run Trivy vulnerability scanner (json output)
180-
uses: aquasecurity/trivy-action@v0.35.0
180+
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
181181
with:
182182
image-ref: ${{ steps.get-image-tag.outputs.image_tag }}
183183
format: json
184184
output: trivy-results.json
185185
scanners: vuln
186186

187187
- name: Upload Trivy scan results to Security Agent
188-
uses: hasura/security-agent-tools/upload-file@v1
188+
uses: hasura/security-agent-tools/upload-file@f16c24be07f6cc89535b6fcdab29e15b1ee799b0 # v1
189189
with:
190190
file_path: trivy-results.json
191191
security_agent_api_key: ${{ secrets.SECURITY_AGENT_API_KEY }}
@@ -199,7 +199,7 @@ jobs:
199199
team=engine
200200
201201
- name: Fail build on High/Critical Vulnerabilities
202-
uses: aquasecurity/trivy-action@v0.35.0
202+
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
203203
with:
204204
skip-setup-trivy: true
205205
image-ref: ${{ steps.get-image-tag.outputs.image_tag }}
@@ -218,9 +218,9 @@ jobs:
218218
- build-and-push-docker
219219
if: startsWith(github.ref, 'refs/tags/v')
220220
steps:
221-
- uses: actions/checkout@v4
221+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
222222
- name: Download connector definition
223-
uses: actions/download-artifact@v4
223+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
224224
with:
225225
name: connector-definition
226226
path: ./connector-definition/dist
@@ -230,13 +230,13 @@ jobs:
230230
echo "tagged_version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
231231
shell: bash
232232

233-
- uses: mindsers/changelog-reader-action@v2
233+
- uses: mindsers/changelog-reader-action@97a0b06549019bb99a571f1664272db18031acff # v2
234234
id: changelog-reader
235235
with:
236236
version: ${{ steps.get-version.outputs.tagged_version }}
237237
path: ./CHANGELOG.md
238238

239-
- uses: softprops/action-gh-release@v1
239+
- uses: softprops/action-gh-release@b21b43df682dab285bf5146c1955e7f3560805f8 # v1
240240
with:
241241
draft: false
242242
tag_name: v${{ steps.get-version.outputs.tagged_version }}

0 commit comments

Comments
 (0)