All 19 open actions/cache-poisoning/poisonable-step alerts (#88-#106) sit in
release.yml, release-candidate.yml and release-artifacts.yml: jobs interpolated
the caller SHA into ref/caches and let setup-node's implicit npm cache key on
run identity. Now caller source_sha is pinned against github.sha by a pin job
(refusing any retarget), checkout and build identity use GITHUB_SHA through
env indirection instead of template interpolation, rust-cache keys use stable
prefix-key values, and setup-node's implicit package cache is off where it
cannot be keyed safely.
Also carries the CodeQL #107 fix from the same lane: catalog_models_dev.py
prints remote limit values as numbers/null/redacted only and drops query and
fragment material from source URLs before logging.
Harvested from #5401 (workflow+script files; CHANGELOG edit intentionally
excluded here and lands with the release branch; GHSA advisory text split to
a later PR as advised).
No-Issue: CodeQL alert remediation (alerts #88-#107); no single user-facing issue tracks these
Signed-off-by: Hunter Bown <hunter@hmbown.com>
Update the catalog automation docs and tests to reflect the final dry-run-only design after CodeQL triage. Also preserve the already-merged #3985 feature-intro auth guard so this PR does not regress main.
Drop disk writes entirely so CodeQL clear-text-storage does not fire.
Automation still fetches/prints Models.dev stats, validates the offline
seed with snapshot --check, and scrubs credential-shaped keys in-memory.
Signed-off-by: CodeWhale Agent <codewhale-agent@hmbown.local>
Add scripts/catalog_models_dev.py for secret-free Models.dev catalog
refresh and snapshot validation, plus OpenRouter public /models listing
with sort/limit. Offline unit tests cover scrubbing and seed checks.
Signed-off-by: CodeWhale Agent <codewhale-agent@hmbown.local>