Skip to content

security: pin GitHub Actions to commit SHAs, scope workflow permissions#29

Merged
JRemitz merged 3 commits into
mainfrom
claude/audit-github-actions-security-M1zbf
May 14, 2026
Merged

security: pin GitHub Actions to commit SHAs, scope workflow permissions#29
JRemitz merged 3 commits into
mainfrom
claude/audit-github-actions-security-M1zbf

Conversation

@JRemitz
Copy link
Copy Markdown
Contributor

@JRemitz JRemitz commented May 14, 2026

  • 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

claude added 3 commits May 14, 2026 03:36
- 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
@JRemitz JRemitz merged commit 78e81bd into main May 14, 2026
8 checks passed
@JRemitz JRemitz deleted the claude/audit-github-actions-security-M1zbf branch May 14, 2026 04:49
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.

2 participants