Skip to content

Commit f92f50a

Browse files
authored
security: pin GitHub Actions to SHA (#427)
* security: pin GitHub Actions and Docker base image to SHA/digest - Pin actions/checkout@main to a fixed SHA in ci.yaml and seekret.yaml - Add missing version comments for already-pinned actions in backstage-catalog-helper.yml (actions/checkout, tibdex/github-app-token) - Add missing version comments in export_github_data.yml and ossf-scorecard.yml for untagged upstream commits (main as of <date>) - Correct two wrong version comments: cds-snc/dns-proxy-action was labeled v1.0.2 but the pinned SHA is 2 commits ahead of that tag; cds-snc/backstage-catalog-info-helper-action was labeled v0.3.1 but the pinned SHA has diverged from that tag entirely - Pin FROM python:3.12 in .github/actions/waffles/Dockerfile to its multi-arch manifest digest * Revert Dockerfile digest pin - out of scope for this card
1 parent a27df2c commit f92f50a

6 files changed

Lines changed: 12 additions & 12 deletions

File tree

.github/workflows/backstage-catalog-helper.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,24 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Audit DNS requests
14-
uses: cds-snc/dns-proxy-action@f0796e7f3d6bec5d40aecb0321ed8012f5602f84 # v1.0.2
14+
uses: cds-snc/dns-proxy-action@f0796e7f3d6bec5d40aecb0321ed8012f5602f84 # main as of 2026-02-09
1515
env:
1616
DNS_PROXY_FORWARDTOSENTINEL: "true"
1717
DNS_PROXY_LOGANALYTICSWORKSPACEID: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}
1818
DNS_PROXY_LOGANALYTICSSHAREDKEY: ${{ secrets.LOG_ANALYTICS_WORKSPACE_KEY }}
1919
- name: Checkout Actions
20-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
20+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
2121
with:
2222
fetch-depth: 0
2323
persist-credentials: false
2424
- name: Run Backstage Catalog Info Helper
25-
uses: cds-snc/backstage-catalog-info-helper-action@cc75afc29a0ade6c41400132ff9e1222f8916ba6 # v0.3.1
25+
uses: cds-snc/backstage-catalog-info-helper-action@cc75afc29a0ade6c41400132ff9e1222f8916ba6 # main as of 2025-06-05
2626
with:
2727
github_app_id: ${{ secrets.SRE_BOT_RW_APP_ID }}
2828
github_app_private_key: ${{ secrets.SRE_BOT_RW_PRIVATE_KEY }}
2929
github_organization: cds-snc
3030
- name: impersonate Read/Write GH App
31-
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
31+
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0
3232
id: generate_token
3333
with:
3434
app_id: ${{ secrets.SRE_BOT_RW_APP_ID }}

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
runs-on: ubuntu-latest
77

88
steps:
9-
- uses: actions/checkout@main
9+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1010

1111
- name: Set up Python 3.12
1212
uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e # v2.3.4

.github/workflows/export_github_data.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- name: Audit DNS requests
19-
uses: cds-snc/dns-proxy-action@2aee21aebfddefac5839497648a36a9f84342d8b
19+
uses: cds-snc/dns-proxy-action@2aee21aebfddefac5839497648a36a9f84342d8b # main as of 2025-06-16
2020
env:
2121
DNS_PROXY_FORWARDTOSENTINEL: "true"
2222
DNS_PROXY_LOGANALYTICSWORKSPACEID: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}
@@ -29,7 +29,7 @@ jobs:
2929
role-session-name: GithubDataExport
3030
aws-region: ca-central-1
3131
- name: Export Data
32-
uses: cds-snc/github-repository-metadata-exporter@fe65ed89fcabde7d0ea0d1fe022ea85825b6f6f8
32+
uses: cds-snc/github-repository-metadata-exporter@fe65ed89fcabde7d0ea0d1fe022ea85825b6f6f8 # main as of 2026-03-09
3333
with:
3434
github-app-id: ${{ secrets.SRE_BOT_RO_APP_ID }}
3535
github-app-installation-id: ${{ secrets.SRE_BOT_RO_INSTALLATION_ID }}

.github/workflows/ossf-scorecard.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
steps:
2525
- name: "Audit DNS requests"
26-
uses: cds-snc/dns-proxy-action@f0796e7f3d6bec5d40aecb0321ed8012f5602f84 # v1.0.2
26+
uses: cds-snc/dns-proxy-action@f0796e7f3d6bec5d40aecb0321ed8012f5602f84 # main as of 2026-02-09
2727
env:
2828
DNS_PROXY_FORWARDTOSENTINEL: "true"
2929
DNS_PROXY_LOGANALYTICSWORKSPACEID: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}
@@ -35,7 +35,7 @@ jobs:
3535
persist-credentials: false
3636

3737
- name: "Run analysis"
38-
uses: ossf/scorecard-action@169c9b9248e36d400bebded8160c7fe2cbbc7762
38+
uses: ossf/scorecard-action@169c9b9248e36d400bebded8160c7fe2cbbc7762 # main as of 2025-03-08
3939
with:
4040
results_file: ossf-results.json
4141
results_format: json
@@ -49,7 +49,7 @@ jobs:
4949
jq -c '. + {"metadata_owner": "'$OWNER'", "metadata_repo": "'$REPO'", "metadata_query": "ossf"}' ossf-results.json > ossf-results-modified.json
5050
5151
- name: "Post results to Sentinel"
52-
uses: cds-snc/sentinel-forward-data-action@2b0831903177e4ba07c850c71ab2645f72cab269
52+
uses: cds-snc/sentinel-forward-data-action@2b0831903177e4ba07c850c71ab2645f72cab269 # main as of 2026-05-21
5353
with:
5454
file_name: ossf-results-modified.json
5555
dce_endpoint: ${{ secrets.SENTINEL_DCE_ENDPOINT }}

.github/workflows/s3-backup.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Audit DNS requests
16-
uses: cds-snc/dns-proxy-action@f0796e7f3d6bec5d40aecb0321ed8012f5602f84 # v1.0.2
16+
uses: cds-snc/dns-proxy-action@f0796e7f3d6bec5d40aecb0321ed8012f5602f84 # main as of 2026-02-09
1717
env:
1818
DNS_PROXY_FORWARDTOSENTINEL: "true"
1919
DNS_PROXY_LOGANALYTICSWORKSPACEID: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}

.github/workflows/seekret.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ jobs:
55
name: docker://cdssnc/seekret-github-action
66
runs-on: ubuntu-latest
77
steps:
8-
- uses: actions/checkout@main
8+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
99
- name: docker://cdssnc/seekret-github-action
1010
uses: docker://cdssnc/seekret-github-action@sha256:0aee6df949373ef6df26d35f6207b56f897ddd1caa030646d7421b0afb717665

0 commit comments

Comments
 (0)