security: harden supply chain (Dependabot cooldowns, CodeQL, Scorecard, dep-review, zizmor)#4
Open
potiuk wants to merge 1 commit intoapache:mainfrom
Open
security: harden supply chain (Dependabot cooldowns, CodeQL, Scorecard, dep-review, zizmor)#4potiuk wants to merge 1 commit intoapache:mainfrom
potiuk wants to merge 1 commit intoapache:mainfrom
Conversation
Adds repo-level security hardening. All changes are additive — no
existing code is touched.
- .github/dependabot.yml: npm + github-actions ecosystems with
cooldowns (3-day patch / 7-day minor / 21-day major) so brand-new
releases have time to be flagged before we pull them in. Security
advisories bypass cooldown automatically. npm scoped to
/mcp/ponymail-mcp where package.json lives. Minor + patch updates
grouped into single PRs.
- .github/workflows/codeql.yml: CodeQL on push / PR / weekly with
the security-extended and security-and-quality query suites for
JS/TS.
- .github/workflows/scorecard.yml: OpenSSF Scorecard; publishes
results to code scanning + SARIF artifact.
- .github/workflows/dependency-review.yml: blocks PRs introducing
deps with >=moderate CVEs or GPL/AGPL licenses.
- .github/workflows/zizmor.yml: static analysis of the workflows
themselves (script injection, overbroad permissions, unpinned
refs, cache poisoning, etc.).
- SECURITY.md: vulnerability reporting policy directing reporters
to security@apache.org first, with GitHub PVR as a secondary
channel for issues isolated to this repo's tooling.
Workflow hardening applied throughout:
- Top-level `permissions: {}` (deny-all) with per-job minimum grants.
- All third-party actions pinned to full commit SHAs (with version
comments) — Dependabot keeps them current.
- actions/checkout sets persist-credentials: false so a stashed
token can't be exfiltrated by later steps.
- Timeouts on every job.
Generated-by: Claude Code (Claude Opus 4.7)
Member
Author
|
This PR loosely depends on #2 merged - as it refers to files added there - but could be merged independently. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds repo-level security hardening. All changes are additive — no existing code is touched.
.github/dependabot.yml— npm + github-actions ecosystems, with cooldowns (3-day patch / 7-day minor / 21-day major) so brand-new releases have time to be flagged by the ecosystem before we pull them in. Security advisories bypass cooldown automatically. The npm ecosystem is scoped to/mcp/ponymail-mcp(wherepackage.jsonlives). Minor + patch updates grouped into single PRs to cut noise..github/workflows/codeql.yml— CodeQL on push / PR / weekly, with thesecurity-extendedandsecurity-and-qualityquery suites for JS/TS..github/workflows/scorecard.yml— OpenSSF Scorecard; publishes results to code scanning + SARIF artifact..github/workflows/dependency-review.yml— blocks PRs introducing deps with ≥moderate CVEs or GPL/AGPL licenses..github/workflows/zizmor.yml— static analysis of the workflows themselves (script injection, overbroad permissions, unpinned refs, cache poisoning, etc.).SECURITY.md— directs reporters to security@apache.org first (the canonical ASF channel), with GitHub Private Vulnerability Reporting as a secondary channel for issues isolated to this repo's tooling.Workflow hardening applied throughout
permissions: {}(deny-all) with per-job minimum grants.actions/checkoutsetspersist-credentials: falseso a stashed token can't be exfiltrated by later steps.Notes for ASF context
SECURITY.mdfollows ASF convention: security@apache.org is preferred, GitHub PVR is secondary. Adjust language if comdev has a different preferred process.asf-highlights/,project-activity/). I left CodeQL scoped tojavascript-typescriptto mirror the original; happy to addpythonto the matrix in a follow-up.mcp/ponymail-mcp/source changes.Repo-level actions that can't be set via files
These require admin access in the GitHub UI (Settings → Code security):
Branch protection on
main(Settings → Rules → Rulesets or Branches):CodeQL,Dependency Review,ZizmorOptional but recommended:
CODEOWNERSfile so reviews auto-request the right peopleTest plan
dependency-reviewblocks it🤖 Generated with Claude Code