Repository navigation
Conversation
Closes the critical certifi alert (compromised emSign intermediate CA keys) and the urllib3 chunked deflate DoS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Code Review
This PR bumps certifi (2026.2.25 → 2026.10.19) and urllib3 (2.6.3 → 2.8.0) in Pipfile.lock to address two security advisories; the changes are correct and well-scoped to the dev lockfile only.
Inline comments: 2 discussions added
Overall Assessment:
| "index": "pypi", | ||
| "markers": "python_version >= '3.9'", | ||
| "version": "==2.6.3" | ||
| "markers": "python_version >= '3.10'", |
There was a problem hiding this comment.
Important Issue: The urllib3 2.8.0 marker now requires Python ≥ 3.10, but the repo's Pipfile declares python_version = "3" (i.e. any Python 3.x) and setup.py has no python_requires floor at all — so the published package can theoretically be installed on Python 3.7–3.9.
urllib3 2.8.0 itself does not install on Python < 3.10 (it will resolve to an older version for end-users via the wheel markers), but the locked lockfile will now fail pipenv sync / pip install --require-hashes for anyone on the team still running Python 3.9.
If the project has dropped support for Python < 3.10, this should be made explicit:
- Set
python_requires = '>=3.10'insetup.py - Update
[requires] python_version = "3.10"inPipfile - Update CI matrix / README accordingly
If Python 3.9 still needs to be supported, urllib3 2.8.0 should not be used here and the lockfile should stay on a >=3.9-compatible release.
| "markers": "python_version >= '3.9'", | ||
| "version": "==2.6.3" | ||
| "markers": "python_version >= '3.10'", | ||
| "version": "==2.8.0" |
There was a problem hiding this comment.
Suggestion: The PR description correctly notes that requests 2.33.0 in the lockfile already requires Python ≥ 3.10, which makes the upgrade safe for this dev environment. It would be useful to document that reasoning as a comment in Pipfile (e.g. a # Python >=3.10 required by requests 2.33 note next to the urllib3 pin) or in a CHANGELOG/SECURITY.md entry, so future maintainers understand why the floor was raised. This is a minor nit but helps long-term maintainability.
bumps two runtime pins in
Pipfile.lock:certifi2026.2.25 -> 2026.10.19, closes the critical #45 (emSign root CAs with compromised intermediate keys). due 2026-10-30 under our SOC2 windowurllib32.6.3 -> 2.8.0, closes #38 (chunked deflate infinite loop)only the
defaultsection changes. versions and hashes come from PyPI, the same way Dependabot edits the file.urllib32.8.0 needs Python 3.10+, whichrequests2.33.0 here already needs.the published package only requires
requests~=2.26, so customers aren't pinned to these. this is the repo's own lockfile.tested locally:
pip install --require-hashesof thedefaultsection, then importedrequests,urllib3,certifiandconstructor_io. the test suite needsTEST_REQUEST_API_KEY, so I didn't run it.this supersedes Dependabot's #100 (urllib3 2.7.0), which doesn't fix #38. we can close it once this merges.
🤖 Generated with Claude Code