security: pin GitHub Actions to commit SHAs, scope workflow permissions - #29
Merged
Merged
Conversation
- Pin actions/checkout, astral-sh/setup-uv, and pypa/gh-action-pypi-publish to full commit SHAs to prevent supply-chain attacks via tag mutation. The pypa publish action is highest-risk as it runs with id-token:write. - Add explicit `permissions: contents: read` to ci.yml jobs (test and docs) so GITHUB_TOKEN is scoped to the minimum needed; previously inherited the repo default which may include write permissions. - Add `contents: read` to release.yml publish job permissions block for the same reason (was implicitly none, which works for public repos but is misleading; explicit is clearer and safer). https://claude.ai/code/session_014iLSLtTwJkVR7B9PYqwJFA
urllib3 2.6.3 → 2.7.0 (2 High): - CVE-2026-44431: sensitive headers forwarded in cross-origin redirects - CVE-2026-44432: decompression-bomb safeguards bypassed in streaming API requests 2.32.5 → 2.34.1 (1 Moderate): - CVE-2026-25645: predictable tmp filename in extract_zipped_paths() pytest 9.0.2 → 9.0.3 (1 Moderate): - CVE-2025-71176: /tmp race condition allows local privilege escalation pygments 2.19.2 → 2.20.0 (1 Low): - CVE-2026-4539: ReDoS in AdlLexer via inefficient GUID regex All 2491 tests pass at 100% coverage after the upgrade. https://claude.ai/code/session_014iLSLtTwJkVR7B9PYqwJFA
This file is generated during queue-related tests and at runtime; it should never be committed to the repository. https://claude.ai/code/session_014iLSLtTwJkVR7B9PYqwJFA
This was referenced Jun 8, 2026
JRemitz
added a commit
to StreamnDad/reeln-dock
that referenced
this pull request
Jun 9, 2026
…ble Dependabot (#9) * security: pin GitHub Actions to commit SHAs, scope workflow permissions - Pin every third-party Action to a full 40-char commit SHA with a # vX.Y.Z comment, defeating tag-mutation supply-chain attacks. Mirrors StreamnDad/reeln-cli#29. - Add explicit job-level `permissions: contents: read` so GITHUB_TOKEN is least-privileged. Jobs that need write scopes keep them alongside. - Add .github/dependabot.yml so Dependabot opens weekly grouped dependency PRs going forward, and is positioned to file security updates the moment they're published. Co-Authored-By: Claude <noreply@anthropic.com> * security: refresh package-lock.json and Cargo.lock for transitive fixes `npm update` (root) and `cargo update` (src-tauri) within existing semver constraints. Picks up patch/minor releases that close known advisories without touching package.json or Cargo.toml. Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
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.
to full commit SHAs to prevent supply-chain attacks via tag mutation.
The pypa publish action is highest-risk as it runs with id-token:write.
permissions: contents: readto ci.yml jobs (test and docs)so GITHUB_TOKEN is scoped to the minimum needed; previously inherited the
repo default which may include write permissions.
contents: readto release.yml publish job permissions block for thesame reason (was implicitly none, which works for public repos but is
misleading; explicit is clearer and safer).
https://claude.ai/code/session_014iLSLtTwJkVR7B9PYqwJFA