Skip to content

security: supply chain hardening for OpenSSF Best Practices#28

Merged
debugmcpdev merged 1 commit intomainfrom
security/supply-chain-hardening
Apr 8, 2026
Merged

security: supply chain hardening for OpenSSF Best Practices#28
debugmcpdev merged 1 commit intomainfrom
security/supply-chain-hardening

Conversation

@debugmcpdev
Copy link
Copy Markdown
Collaborator

Summary

  • SHA-pin all GitHub Actions across ci.yml and release.yml (29 action references pinned to immutable commit SHAs)
  • Add workflow permissions: contents: read top-level for ci.yml, permissions: {} top-level + job-level for release.yml, contents: read for validate-secrets.yml
  • Upgrade pnpm/action-setup from v2 (mutable branch ref) to v4 (immutable tag) — no breaking changes since version: is already set explicitly
  • Pin CI tool versions: debugpy==1.8.14, dlv@v1.24.2, pip==25.0.1, build==1.2.2, twine==6.1.0, tomlkit==0.13.2
  • Add pnpm audit step to CI pipeline (--prod --audit-level=high, continue-on-error initially)
  • Add Dependabot for github-actions, npm, and pip ecosystems (weekly Monday schedule)
  • Add CodeQL SAST workflow for TypeScript/JavaScript analysis
  • Add OpenSSF Scorecard workflow with SARIF upload and publish_results: true
  • Add OpenSSF Scorecard badge to README
  • Add 80% statement coverage threshold to vitest config
  • Create governance documents: SECURITY.md, CODE_OF_CONDUCT.md (Contributor Covenant v2.1), ARCHITECTURE.md, SUPPLY-CHAIN-SECURITY.md
  • Update CONTRIBUTING.md to link to CODE_OF_CONDUCT.md
  • Branch protection ruleset created (requires PRs, blocks deletion + force push)

Motivation

Harden supply chain security and lay groundwork for OpenSSF Best Practices Passing and Silver badges. Reference: osoji SUPPLY-CHAIN-SECURITY.md

Remaining manual steps (post-merge)

  • Register at bestpractices.dev and add badge URL to README
  • Configure PyPI OIDC trusted publisher, then replace twine with pypa/gh-action-pypi-publish
  • Add required status checks to branch protection ruleset (CI job names)
  • Verify npm provenance: npm audit signatures @debugmcp/mcp-debugger

Test plan

  • CI workflow passes with SHA-pinned actions and pinned tool versions
  • CodeQL workflow runs and reports to Security tab
  • Scorecard workflow runs and produces SARIF results
  • Dependabot creates its first update PRs within a week
  • pnpm audit --prod --audit-level=high runs in CI (continue-on-error)
  • Coverage threshold enforced at 80% statements

🤖 Generated with Claude Code

- SHA-pin all GitHub Actions across ci.yml, release.yml (29 action refs)
- Add top-level permissions to all workflows (contents:read / {} + job-level)
- Upgrade pnpm/action-setup from v2 (mutable branch) to v4 (immutable tag)
- Pin CI tool versions: debugpy==1.8.14, dlv@v1.24.2, pip==25.0.1, build/twine/tomlkit
- Add pnpm audit step to CI pipeline
- Add Dependabot for github-actions, npm, pip ecosystems
- Add CodeQL SAST workflow for TypeScript/JavaScript
- Add OpenSSF Scorecard workflow with SARIF upload
- Add OpenSSF Scorecard badge to README
- Add 80% statement coverage threshold to vitest config
- Create SECURITY.md with vulnerability disclosure policy
- Create CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- Create ARCHITECTURE.md with monorepo overview and data flow
- Create SUPPLY-CHAIN-SECURITY.md with governance model and controls
- Update CONTRIBUTING.md to link to CODE_OF_CONDUCT.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-advanced-security
Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@debugmcpdev debugmcpdev merged commit e8189b8 into main Apr 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants