Repository navigation
ci: hash-pin workflow installs and scope publish's write to its job (SEC-5) - #12
Merged
Merged
Conversation
…SEC-5) - The framework's dependencies install from .github/requirements/framework.txt (pip-compile --generate-hashes, Python 3.12) with --require-hashes; the framework checkout is built into a wheel with the locked build backend and installed with --no-deps, and `pip check` fails closed if the framework ref needs something the lock does not satisfy. - Where the Claude validator runs, it installs with `npm ci` from a committed lockfile (.github/validator) outside the published tree, so its integrity hashes are enforced; the zizmor adhoc-packages exception is no longer needed and is removed. - publish.yml: workflow default is contents: read; contents: write moves to the one job that commits and pushes the regenerated tree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
Collaborator
Author
|
The step this PR changes passes in CI: "Install the framework from source" (hash-pinned lock, then wheel Generated by Claude Code |
jothimani-rajendran
marked this pull request as ready for review
October 16, 2026 23:37
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.
SEC-5 (org-plan
plan/sec-scan-2026-10-16.md): clear the code-scanning findings in this repo's workflows.These workflows are hand-maintained in each plugin repo, not emitted by open-coder-ai/chock (the emitter writes the plugin trees, index, lockfile and PLUGINS.md; nothing under
.github/workflows/), so the fix lands here.Changes
generated-only.yml,publish.yml): dependencies install from.github/requirements/framework.txt(pip-compile --allow-unsafe --generate-hashes --strip-extras, Python 3.12, fromframework.in) with--require-hashes. The framework checkout is built into a wheel with the locked setuptools (--no-build-isolation) and installed--no-deps;pip checkfails closed if a future framework ref declares a dependency the lock does not satisfy.npm ci:@anthropic-ai/claude-code@2.1.239now installs from a committed.github/validator/package-lock.json(integrity hashes enforced), into$RUNNER_TEMPso nothing lands in the published tree. Theadhoc-packageszizmor exception that covered the oldnpm install -gis removed.contents: read;contents: writeonly on thepublishjob, which commits and pushes the regenerated tree.Write permissions kept (and why)
publishjobcontents: write: it pushes the regenerated tree with the built-in token.security.ymlzizmor jobsecurity-events: write: uploads the SARIF to code scanning.close-prs.ymlpull-requests: write: comments on and closes fork PRs (unchanged).Measured
Scorecard v5.2.1
--local --show-detailsaggregate 5.6 → 6.8:--offlinewith the repo config: no findings before and after, now with one fewer exception. Online audits locally: unmeasured (no token). The Security checks workflow (zizmor online + SARIF upload) is green on main.framework.txt: no known vulnerabilities;npm auditon the validator lock: 0 vulnerabilities..framework-ref,pip checkclean,chock checkpasses on catalog main, andclaude plugin validatepasses on every package vianpm ci.codeql.yml.Known red check
Generated-onlyis already red onmainat "Regenerate from the catalog and diff": chock-catalogmainhas moved past the published tree, so it needs a publish run (owner). This PR does not change that step.Generated by Claude Code