Skip to content

fix(workflows): enforce private-free action boundary - #4

Merged
rldyourmnd merged 1 commit into
mainfrom
fix/harden-runner-disable
Jul 9, 2026
Merged

fix(workflows): enforce private-free action boundary#4
rldyourmnd merged 1 commit into
mainfrom
fix/harden-runner-disable

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Summary

  • remove the unsafe conditional Harden-Runner toggle from cross-tier and private-free workflows
  • keep Harden-Runner unconditional only in explicit public/GHAS workflows and update it to v2.20.0
  • add a fail-closed lifecycle contract validator and hash-lock self-CI dependencies
  • publish the breaking input-contract change as 0.4.0 metadata and update callers/documentation examples

Verification

  • python3 scripts/validate_all.py
  • actionlint -color
  • uvx --from zizmor==1.26.1 zizmor --persona regular --min-severity low .github/workflows
  • uv pip install --require-hashes -r requirements-ci.txt in an isolated Python 3.13 environment

Security rationale

Harden-Runner is a JavaScript action with pre/post entry points. A false step-level condition does not reliably prevent those lifecycle hooks, so private-free safety must be represented by absence of the action from the workflow file.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
@rldyourmnd
rldyourmnd merged commit 0928d59 into main Jul 9, 2026
5 checks passed
@rldyourmnd
rldyourmnd deleted the fix/harden-runner-disable branch July 9, 2026 20:24
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.

1 participant