Skip to content

P-2208: Harden github actions#32

Merged
yosriady merged 3 commits into
mainfrom
keilok/harden-github-actions
May 21, 2026
Merged

P-2208: Harden github actions#32
yosriady merged 3 commits into
mainfrom
keilok/harden-github-actions

Conversation

@keiloktql
Copy link
Copy Markdown
Member

@keiloktql keiloktql commented May 20, 2026

  • dependabot: 7-day cooldown on github-actions + npm ecosystems
  • ci.yml: persist-credentials: false on all 4 checkouts; explicit pnpm version: 11
  • release.yml: persist-credentials: false; drop pnpm cache from setup-node (cache-poisoning mitigation); quote variable to fix SC2086; explicit pnpm version: 11

Refs P-2208.


View in Codesmith
Need help on this PR? Tag @codesmith with what you need.

  • Let Codesmith autofix CI failures and bot reviews

- dependabot: 7-day cooldown on github-actions + npm ecosystems
- ci.yml: persist-credentials: false on all 4 checkouts; explicit pnpm version: 11
- release.yml: persist-credentials: false; drop pnpm cache from setup-node
  (cache-poisoning mitigation); quote variable to fix SC2086; explicit
  pnpm version: 11

Refs P-2208.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@keiloktql keiloktql requested a review from yosriady May 20, 2026 09:57
@keiloktql keiloktql self-assigned this May 20, 2026
@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 20, 2026

P-2208

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request attempts to introduce a cooldown property to the Dependabot configuration for both GitHub Actions and npm ecosystems. However, the review feedback correctly identifies that cooldown is not a supported key in the official Dependabot schema, which will lead to validation errors and prevent Dependabot from processing updates for these ecosystems.

Comment thread .github/dependabot.yml
Comment on lines +7 to +8
cooldown:
default-days: 7
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The cooldown property is not a supported configuration key in the official GitHub Dependabot schema. Including this key will cause a validation error, and Dependabot will fail to process updates for the github-actions ecosystem. If the intention is to delay updates to mitigate potential supply chain risks (e.g., waiting for a 'soak' period), Dependabot does not currently support this natively. You may need to use a third-party tool or adjust the schedule to achieve a similar effect.

Comment thread .github/dependabot.yml
Comment on lines +15 to +16
cooldown:
default-days: 7
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The cooldown property is not recognized by the Dependabot configuration parser. This will likely result in a 'Dependabot couldn't parse your .github/dependabot.yml' error in the GitHub repository settings, preventing updates for the npm ecosystem. It is recommended to remove these lines to ensure the configuration remains valid.

The `with: version: 11` on `pnpm/action-setup` conflicts with
`packageManager: pnpm@11.1.1` in package.json — the action refuses
both and errors with ERR_PNPM_BAD_PM_VERSION. Drop the action input
and let action-setup resolve from packageManager, which is the more
precise pin.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@keiloktql
Copy link
Copy Markdown
Member Author

The cooldown property is not a supported configuration key in the official GitHub Dependabot schema.

This is incorrect — cooldown is officially supported by Dependabot version updates. GitHub shipped GA on 2025-07-01 and expanded ecosystem coverage on 2025-07-29:

default-days is supported across all package ecosystems including github-actions and npm. This is also the exact field zizmor's dependabot-cooldown audit recommends. Keeping both blocks as-is.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@keiloktql
Copy link
Copy Markdown
Member Author

Done in e539803, but flagging for posterity: the zizmor: ignore[cache-poisoning] was not dead config — zizmor still flags actions/setup-node with cache-poisoning ("enables caching by default", Low confidence) under release-tag triggers even with no cache: key, because the heuristic is on the action itself. The ignore was actively suppressing that Low-confidence false positive.

Removing it anyway for consistency with sibling SDKs (getformo/sdk, getformo/sdk-node), both of which carry the same residual finding without suppression. The actual cache-poisoning mitigation (removing cache: 'pnpm') is in place; the Low residual is the documented heuristic noise.

@yosriady yosriady merged commit 593d788 into main May 21, 2026
10 checks passed
@yosriady yosriady deleted the keilok/harden-github-actions branch May 21, 2026 01:35
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.

2 participants