Skip to content

Bump setuptools to 84.2.1 (GHSA-xmj3-9gf7-h52w) - #58

Merged
secondfry merged 2 commits into
masterfrom
worktree-bump-setuptools
Oct 27, 2026
Merged

secondfry merged 2 commits into
masterfrom
worktree-bump-setuptools

Conversation

@secondfry

@secondfry secondfry commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Dependabot's weekly digest flagged setuptools 84.0.0 in Pipfile.lock (GHSA-xmj3-9gf7-h52w, low severity, fixed in 84.1.0). This PR bumps it to 84.2.1, the latest release.

Approach

setuptools is a transitive dev dependency (pulled in by PyInstaller, which only needs >=42). Re-running pipenv lock would also move every other unpinned package, so I edited only the setuptools entry: the version plus the sha256 hashes from PyPI. The same line is updated in requirements.txt, which is a hashed pipenv requirements --dev export of the lock. The Pipfile is untouched, so the lock's _meta hash is still valid.

Testing

  • pipenv verify says the lock is up to date.
  • The setuptools line in requirements.txt matches pipenv requirements --dev --hash output exactly.
  • Hashes come from PyPI's JSON API for 84.2.1 (wheel + sdist).
  • Not done yet: a fresh pipenv install --dev --deploy and PyInstaller build. Worth doing locally before merging.

Risks

Low. setuptools is only used in the build environment. The shipped app doesn't import it.

🤖 Generated with Claude Code

secondfry and others added 2 commits October 27, 2026 18:21
Dependabot flagged the locked setuptools 84.0.0 (pulled in by
PyInstaller for the dev/build environment) as vulnerable; 84.1.0 is the
first fixed release. Only the setuptools entry was swapped in place
rather than re-running pipenv lock, so the rest of the build toolchain
doesn't drift as a side effect of a low-severity security bump.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
requirements.txt is a hashed export of the lock, and the previous commit
only updated the lock, so anyone installing from requirements.txt would
still get the vulnerable setuptools 84.0.0 flagged by GHSA-xmj3-9gf7-h52w.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedsetuptools@​84.0.0 ⏵ 84.2.173 +1100 +110010070

View full report

@secondfry
secondfry marked this pull request as ready for review October 27, 2026 15:53
Copilot AI balanced review requested due to automatic review settings October 27, 2026 15:53
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-27T15:53:47.714911Z d7587ae Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request. Check if the Files changed in this pull request are included in default exclusions.

@secondfry
secondfry merged commit c7cf059 into master Oct 27, 2026
7 checks passed
@secondfry
secondfry deleted the worktree-bump-setuptools branch October 27, 2026 16:15
secondfry added a commit that referenced this pull request Oct 29, 2026
## Summary
Fixes Dependabot alerts #57 (Pipfile.lock) and #58 (requirements.txt),
both critical: certifi `>= 2019.03.09, < 2026.10.18` ships emSign root
CAs whose intermediate CA keys were compromised.

## Context
Short Circuit trusts certifi's bundle (through requests) for Tripwire,
Eve Scout and ESI. A forged certificate chained to those roots could
intercept Tripwire credentials and ESI tokens.

## Approach
Only the `certifi` entry in `Pipfile.lock` changes, edited by hand to
2026.10.23 (latest; above the fixed 2026.10.18) with the PyPI sha256
hashes. That avoids a full `pipenv lock`, which would also move every
unpinned package. `requirements.txt`, the hashed export of the lock,
gets the same change.

## Testing
- `pipenv verify`: `Pipfile.lock is up-to-date.`
- `pipenv requirements --dev --hash | grep ^certifi` matches
`requirements.txt` exactly.
- Not done: running the app or rebuilding binaries. Manual check: build,
then fetch from Tripwire and Eve Scout and log in to ESI.

## Risks
Low. Only the CA bundle changes. Released binaries keep the old bundle
until they're rebuilt.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
mogglemoss added a commit to mogglemoss/shortcircuit that referenced this pull request Nov 8, 2026
Upstream (secondfry/shortcircuit) bumped these in PRs secondfry#58 and secondfry#59 and we
were still on the vulnerable pins:

- certifi 2026.1.4 -> 2026.10.23: removes trust in emSign root CAs
  following their compromise. We do TLS to EVE SSO and every mapper API
  through this bundle, so shipping with the compromised roots trusted is
  a real exposure, not a hygiene bump.
- setuptools 80.10.2 -> 84.2.1: fixes GHSA-xmj3-9gf7-h52w. Only present
  at build time, but the Linux AppImage job installs it on every build.

Only requirements.txt changes: it is the sole pinned manifest CI still
reads (the Linux job). The Windows/macOS jobs install unpinned packages
and already pick up current certifi transitively; Pipfile/Pipfile.lock
are stale pre-fork leftovers (still naming PySide2) that no workflow
consumes, so updating them would only imply they are maintained.

setuptools 84.2.1 requires Python >=3.10, which matches the Linux job's
3.10. Verified both exact versions exist on PyPI; certifi downloads
cleanly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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