Scorecards supply-chain security #460
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: 2023 MTRNord | |
# | |
# SPDX-License-Identifier: CC0-1.0 | |
name: Scorecards supply-chain security | |
on: | |
# Only the default branch is supported. | |
branch_protection_rule: | |
schedule: | |
- cron: "22 5 * * 4" | |
push: | |
branches: ["main"] | |
# Declare default permissions as read only. | |
permissions: read-all | |
jobs: | |
analysis: | |
name: Scorecards analysis | |
runs-on: ubuntu-latest | |
permissions: | |
# Needed to upload the results to code-scanning dashboard. | |
security-events: write | |
# Used to receive a badge. (Upcoming feature) | |
id-token: write | |
# Needs for private repositories. | |
contents: read | |
actions: read | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 | |
with: | |
egress-policy: block | |
allowed-endpoints: > | |
api.github.com:443 | |
api.osv.dev:443 | |
bestpractices.coreinfrastructure.org:443 | |
codeload.github.com:443 | |
github.com:443 | |
pipelines.actions.githubusercontent.com:443 | |
index.docker.io:443 | |
gcr.io:443 | |
fulcio.sigstore.dev:443 | |
auth.docker.io:443 | |
sigstore-tuf-root.storage.googleapis.com:443 | |
rekor.sigstore.dev:443 | |
api.securityscorecards.dev:443 | |
tuf-repo-cdn.sigstore.dev:443 | |
index.crates.io:443 | |
- name: "Checkout code" | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v3.0.0 | |
with: | |
persist-credentials: false | |
- name: "Run analysis" | |
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # tag=v2.3.1 | |
with: | |
results_file: results.sarif | |
results_format: sarif | |
# (Optional) Read-only PAT token. Uncomment the `repo_token` line below if: | |
# - you want to enable the Branch-Protection check on a *public* repository, or | |
# - you are installing Scorecards on a *private* repository | |
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. | |
# repo_token: ${{ secrets.SCORECARD_READ_TOKEN }} | |
# Publish the results for public repositories to enable scorecard badges. For more details, see | |
# https://github.com/ossf/scorecard-action#publishing-results. | |
# For private repositories, `publish_results` will automatically be set to `false`, regardless | |
# of the value entered here. | |
publish_results: true | |
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF | |
# format to the repository Actions tab. | |
- name: "Upload artifact" | |
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # tag=v3.1.3 | |
with: | |
name: SARIF file | |
path: results.sarif | |
retention-days: 5 | |
# Upload the results to GitHub's code scanning dashboard. | |
- name: "Upload to code-scanning" | |
uses: github/codeql-action/upload-sarif@74483a38d39275f33fcff5f35b679b5ca4a26a99 # tag=v1.0.26 | |
with: | |
sarif_file: results.sarif |