Skip to content

security: supply chain hardening#1

Merged
AdeGneus merged 4 commits into
mainfrom
security/supply-chain-hardening
May 14, 2026
Merged

security: supply chain hardening#1
AdeGneus merged 4 commits into
mainfrom
security/supply-chain-hardening

Conversation

@AdeGneus

Copy link
Copy Markdown
Contributor

No description provided.

AdeGneus and others added 3 commits May 14, 2026 18:07
…acks

Pin all Actions steps to full commit SHAs, add StepSecurity Harden-Runner
with egress audit, declare explicit least-privilege permissions
(contents: read, id-token: none), switch to hash-locked dependency install
(--require-hashes), add pip-audit and SBOM generation steps, and run
scripts/check_workflows.py as a supply-chain guard on every CI run.

Triggered by TanStack Mini Shai-Hulud attack (May 2026). See
docs/SUPPLY_CHAIN_SECURITY_REFERENCE for full hardening rationale.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…+ SBOM tooling

Add requirements.in, requirements.txt (73 sha256 entries), requirements-dev.in,
and requirements-dev.txt (826 sha256 entries) generated with pip-compile
--generate-hashes. Add pip-audit>=2.7 and cyclonedx-bom>=4.0 to dev deps so
CI can audit for CVEs and generate a CycloneDX SBOM on every build. CI now
installs exclusively via --require-hashes from the lockfile, never via live
PyPI resolution.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Document 11 supply-chain invariants for every AI coding agent working on
this repo: no pull_request_target with fork code, explicit workflow
permissions, id-token: write only in release.yml, no cache in release jobs,
SHA-pinned Actions, no curl|bash, --require-hashes installs, wheelhouse-only
device deployment, provenance ≠ safe code (TanStack lesson), guard script
enforcement, and Ed25519/cryptography alignment with ori-runtime.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@AdeGneus AdeGneus self-assigned this May 14, 2026
The <9 upper cap on pytest locked the lockfile to 8.4.2, which has a known
vulnerability fixed in 9.0.3. Remove the upper cap and set the floor to
>=9.0.3. Regenerated requirements-dev.txt — pytest now pins to 9.0.3.
pip-audit returns no known vulnerabilities.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@AdeGneus AdeGneus merged commit cb66e27 into main May 14, 2026
2 checks passed
@AdeGneus AdeGneus deleted the security/supply-chain-hardening branch May 14, 2026 17: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