From 28f1b23a47d2906202640f0129951e7039d620b4 Mon Sep 17 00:00:00 2001 From: NeethuESim Date: Wed, 5 Aug 2026 09:27:24 -0700 Subject: [PATCH 01/13] GH Action for OSSF Scorecard GH Action for OSSF Scorecard - https://github.com/ossf/scorecard-action --- .github/workflows/scorecard.yml | 78 +++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .github/workflows/scorecard.yml diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml new file mode 100644 index 0000000..43e7030 --- /dev/null +++ b/.github/workflows/scorecard.yml @@ -0,0 +1,78 @@ +# This workflow uses actions that are not certified by GitHub. They are provided +# by a third-party and are governed by separate terms of service, privacy +# policy, and support documentation. + +name: Scorecard supply-chain security +on: + # For Branch-Protection check. Only the default branch is supported. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection + branch_protection_rule: + # To guarantee Maintained check is occasionally updated. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained + schedule: + - cron: '38 17 * * 0' + push: + branches: [ "main" ] + +# Declare default permissions as read only. +permissions: read-all + +jobs: + analysis: + name: Scorecard analysis + runs-on: ubuntu-latest + # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. + if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request' + permissions: + # Needed to upload the results to code-scanning dashboard. + security-events: write + # Needed to publish results and get a badge (see publish_results below). + id-token: write + # Uncomment the permissions below if installing in a private repository. + # contents: read + # actions: read + + steps: + - name: "Checkout code" + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + + - name: "Run analysis" + uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1 + with: + results_file: results.sarif + results_format: sarif + # (Optional) "write" 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 Scorecard on a *private* repository + # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional. + # repo_token: ${{ secrets.SCORECARD_TOKEN }} + + # Public repositories: + # - Publish results to OpenSSF REST API for easy access by consumers + # - Allows the repository to include the Scorecard badge. + # - See https://github.com/ossf/scorecard-action#publishing-results. + # For private repositories: + # - `publish_results` will always be set to `false`, regardless + # of the value entered here. + publish_results: true + + # (Optional) Uncomment file_mode if you have a .gitattributes with files marked export-ignore + # file_mode: git + + # 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@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 + with: + name: SARIF file + path: results.sarif + retention-days: 7 + + # Upload the results to GitHub's code scanning dashboard (optional). + # Commenting out will disable upload of results to your repo's Code Scanning dashboard + - name: "Upload to code-scanning" + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: results.sarif From 60642d12ba57c62087e658c08a5e2350e5eb688d Mon Sep 17 00:00:00 2001 From: NeethuESim Date: Wed, 5 Aug 2026 09:32:12 -0700 Subject: [PATCH 02/13] doc: Add OpenSSF Scorecard badge to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 43c6951..545402a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/arm/mcp/badge)](https://scorecard.dev/viewer/?uri=github.com/arm/mcp) + # Arm MCP Server An [MCP](https://modelcontextprotocol.io/) server providing AI assistants with tools and knowledge for Arm architecture development, migration, and optimization. From c73af1ee419e19eefac3d7a73b34392bcaa5c3d2 Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Wed, 5 Aug 2026 09:45:51 -0700 Subject: [PATCH 03/13] fix: changes to test on secure-build branch --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 43e7030..889d3c8 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -12,7 +12,7 @@ on: schedule: - cron: '38 17 * * 0' push: - branches: [ "main" ] + branches: [ "main", "secure-build" ] # Declare default permissions as read only. permissions: read-all @@ -22,7 +22,7 @@ jobs: name: Scorecard analysis runs-on: ubuntu-latest # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. - if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request' + if: github.event.repository.default_branch == github.ref_name || github.ref_name == 'secure-build' || github.event_name == 'pull_request' permissions: # Needed to upload the results to code-scanning dashboard. security-events: write From dd771245ce0159f9854da65ccd9a5535a0fcfbe9 Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Wed, 5 Aug 2026 13:44:17 -0700 Subject: [PATCH 04/13] fix: test on current branch --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 889d3c8..eb8bdfe 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -12,7 +12,7 @@ on: schedule: - cron: '38 17 * * 0' push: - branches: [ "main", "secure-build" ] + branches: [ "main", "secure-build", "stesol-576-ossf-scorecard" ] # Declare default permissions as read only. permissions: read-all From 4819d5137d3f3010b06992ed266899623c114856 Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Wed, 5 Aug 2026 13:46:01 -0700 Subject: [PATCH 05/13] fix: test branch --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index eb8bdfe..4b7188c 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -22,7 +22,7 @@ jobs: name: Scorecard analysis runs-on: ubuntu-latest # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. - if: github.event.repository.default_branch == github.ref_name || github.ref_name == 'secure-build' || github.event_name == 'pull_request' + if: github.event.repository.default_branch == github.ref_name || github.ref_name == 'secure-build' || github.ref_name == 'stesol-576-ossf-scorecard' || github.event_name == 'pull_request' permissions: # Needed to upload the results to code-scanning dashboard. security-events: write From 799b89bfdc7e500b3bd84982d029fc120aa7f8bc Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Wed, 5 Aug 2026 13:54:50 -0700 Subject: [PATCH 06/13] fix: revert branch test changes --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 4b7188c..43e7030 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -12,7 +12,7 @@ on: schedule: - cron: '38 17 * * 0' push: - branches: [ "main", "secure-build", "stesol-576-ossf-scorecard" ] + branches: [ "main" ] # Declare default permissions as read only. permissions: read-all @@ -22,7 +22,7 @@ jobs: name: Scorecard analysis runs-on: ubuntu-latest # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. - if: github.event.repository.default_branch == github.ref_name || github.ref_name == 'secure-build' || github.ref_name == 'stesol-576-ossf-scorecard' || github.event_name == 'pull_request' + if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request' permissions: # Needed to upload the results to code-scanning dashboard. security-events: write From 932192d3cc576ebb4d2930c849380e6a87b5fa6d Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Wed, 5 Aug 2026 15:10:04 -0700 Subject: [PATCH 07/13] test: on pull request --- .github/workflows/scorecard.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 43e7030..61e19d1 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -13,6 +13,9 @@ on: - cron: '38 17 * * 0' push: branches: [ "main" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "main", "secure-build", "stesol-576-ossf-scorecard" ] # Declare default permissions as read only. permissions: read-all @@ -22,7 +25,7 @@ jobs: name: Scorecard analysis runs-on: ubuntu-latest # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. - if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request' + if: github.event.repository.default_branch == github.ref_name || github.ref_name == "stesol-576-ossf-scorecard" || github.ref_name == "secure-build" || github.event_name == 'pull_request' permissions: # Needed to upload the results to code-scanning dashboard. security-events: write From 70151e47a1e75f096db48abc4c91efa8362001aa Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Wed, 5 Aug 2026 15:16:32 -0700 Subject: [PATCH 08/13] fix: rm space --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 61e19d1..b7be2c4 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -25,7 +25,7 @@ jobs: name: Scorecard analysis runs-on: ubuntu-latest # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. - if: github.event.repository.default_branch == github.ref_name || github.ref_name == "stesol-576-ossf-scorecard" || github.ref_name == "secure-build" || github.event_name == 'pull_request' + if: github.event.repository.default_branch == github.ref_name || github.ref_name == 'secure-build' || github.ref_name == 'stesol-576-ossf-scorecard' || github.event_name == 'pull_request' permissions: # Needed to upload the results to code-scanning dashboard. security-events: write From 9649c90847906559a957b6ec041a7fae3831efc2 Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Wed, 5 Aug 2026 15:37:15 -0700 Subject: [PATCH 09/13] fix: pin version --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b7be2c4..c77cc7d 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -76,6 +76,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard (optional). # Commenting out will disable upload of results to your repo's Code Scanning dashboard - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@v3 + uses: github/codeql-action/upload-sarif@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4 with: sarif_file: results.sarif From 36241c5836b8828d6a8e1d26777d6782d9f75b72 Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Thu, 6 Aug 2026 14:27:32 -0700 Subject: [PATCH 10/13] fix: PR comments --- .github/workflows/scorecard.yml | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index c77cc7d..5ca57a3 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -1,6 +1,5 @@ -# This workflow uses actions that are not certified by GitHub. They are provided -# by a third-party and are governed by separate terms of service, privacy -# policy, and support documentation. +# GitHub Action for OpenSSF Scorecard - https://github.com/ossf/scorecard-action +# Assess open source projects for security risks through a series of automated checklist - https://openssf.org/projects/scorecard/ name: Scorecard supply-chain security on: @@ -24,25 +23,20 @@ jobs: analysis: name: Scorecard analysis runs-on: ubuntu-latest - # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. - if: github.event.repository.default_branch == github.ref_name || github.ref_name == 'secure-build' || github.ref_name == 'stesol-576-ossf-scorecard' || github.event_name == 'pull_request' permissions: # Needed to upload the results to code-scanning dashboard. security-events: write # Needed to publish results and get a badge (see publish_results below). id-token: write - # Uncomment the permissions below if installing in a private repository. - # contents: read - # actions: read steps: - name: "Checkout code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1 + uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4 with: results_file: results.sarif results_format: sarif @@ -56,25 +50,21 @@ jobs: # - Publish results to OpenSSF REST API for easy access by consumers # - Allows the repository to include the Scorecard badge. # - See https://github.com/ossf/scorecard-action#publishing-results. - # For private repositories: - # - `publish_results` will always be set to `false`, regardless - # of the value entered here. + # - only works when run from the default branch. publish_results: true # (Optional) Uncomment file_mode if you have a .gitattributes with files marked export-ignore # file_mode: git - # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF - # format to the repository Actions tab. + # Upload the results as artifacts in SARIF format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: SARIF file path: results.sarif retention-days: 7 - # Upload the results to GitHub's code scanning dashboard (optional). - # Commenting out will disable upload of results to your repo's Code Scanning dashboard + # Upload the results to GitHub repo's code scanning dashboard (optional). - name: "Upload to code-scanning" uses: github/codeql-action/upload-sarif@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4 with: From b0fc3b182207cbc4a1e9c58c73ca6180d8b81cae Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Thu, 6 Aug 2026 14:39:49 -0700 Subject: [PATCH 11/13] fix: add back if condition for branch run --- .github/workflows/scorecard.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 5ca57a3..3bd9132 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -23,6 +23,7 @@ jobs: analysis: name: Scorecard analysis runs-on: ubuntu-latest + if: github.event.repository.default_branch == github.ref_name || github.ref_name == 'secure-build' || github.ref_name == 'stesol-576-ossf-scorecard' || github.event_name == 'pull_request' permissions: # Needed to upload the results to code-scanning dashboard. security-events: write From 51e507462e49a0476403743b13cfa71720ab59e6 Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Thu, 6 Aug 2026 14:41:33 -0700 Subject: [PATCH 12/13] fix: revert changes --- .github/workflows/scorecard.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 3bd9132..5ca57a3 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -23,7 +23,6 @@ jobs: analysis: name: Scorecard analysis runs-on: ubuntu-latest - if: github.event.repository.default_branch == github.ref_name || github.ref_name == 'secure-build' || github.ref_name == 'stesol-576-ossf-scorecard' || github.event_name == 'pull_request' permissions: # Needed to upload the results to code-scanning dashboard. security-events: write From c618f4687b5e2d00fae9b597f92ab17b8e3f483f Mon Sep 17 00:00:00 2001 From: Neethu Elizabeth Simon Date: Fri, 7 Aug 2026 09:02:18 -0700 Subject: [PATCH 13/13] fix: add workflow dispatch --- .github/workflows/scorecard.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 5ca57a3..4c4dd50 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -15,6 +15,7 @@ on: pull_request: # The branches below must be a subset of the branches above branches: [ "main", "secure-build", "stesol-576-ossf-scorecard" ] + workflow_dispatch: # Declare default permissions as read only. permissions: read-all