Skip to content

fix: address all 10 Dependabot security vulnerabilities#137

Merged
CurroRodriguez merged 2 commits intomasterfrom
fix/dependabot-vulnerabilities
Mar 21, 2026
Merged

fix: address all 10 Dependabot security vulnerabilities#137
CurroRodriguez merged 2 commits intomasterfrom
fix/dependabot-vulnerabilities

Conversation

@CurroRodriguez
Copy link
Copy Markdown
Contributor

Summary

Resolves all 10 Dependabot security alerts on the master branch.

The root cause was requires-python = ">=3.8" in pyproject.toml, which forced uv to resolve a Python 3.8 dependency branch where all patched versions of the affected packages were unavailable — they had each dropped Python 3.8 support before issuing their security fixes. Dropping Python 3.8 support eliminates that branch entirely and unblocks the upgrades.

Changes:

All 160 unit tests pass.

References

Root cause: requires-python = ">=3.8" forced uv to resolve a Python 3.8
branch where all patched versions of the vulnerable packages were
unavailable — they had all dropped Python 3.8 support before issuing
their security fixes.

Fix: drop Python 3.8 support (raises minimum to Python 3.9) and upgrade
all affected packages to their patched versions.

pyproject.toml:
- Raised requires-python from >=3.8 to >=3.9.
- Removed the Python 3.8 classifier.

uv.lock:
- markdown: 3.7 → 3.9 / 3.10.2 (fixes: Uncaught Exception, alert #10)
- pymdown-extensions: 10.15 → 10.21 (fixes: ReDOS in Figure Capture, alert #7)
- requests: 2.32.3 → 2.32.5 (fixes: .netrc credentials leak, alert #2)
- setuptools: 75.3.x → 82.0.1 (fixes: path traversal / arbitrary file write, alert #1)
- urllib3: 2.2.3 / 2.3.0 → 2.6.3 (fixes: decompression bomb, unbounded
  redirect chain, redirect control, alerts #3 #4 #5 #6 #8)
- wheel: 0.45.1 → removed (was a transitive dep of astunparse, which is
  only needed for Python <3.9; eliminating Python 3.8 support removes
  this dependency entirely, fixes: path traversal, alert #9)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the project’s minimum supported Python version to unblock Dependabot security upgrades that are unavailable on the Python 3.8 dependency branch, and refreshes the uv lockfile to pull in patched dependency versions.

Changes:

  • Raise minimum supported Python from >=3.8 to >=3.9 and remove the Python 3.8 classifier.
  • Regenerate uv.lock to upgrade vulnerable dependencies to patched versions (e.g., requests, setuptools, urllib3, markdown, pymdown-extensions) and drop wheel/Python<3.9-only transitive deps.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.

File Description
pyproject.toml Drops Python 3.8 support via requires-python and classifiers to enable security upgrades.
uv.lock Re-locks dependencies under Python >=3.9, upgrading vulnerable packages to patched versions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link
Copy Markdown

Code Coverage

Package Line Rate Health
src.bolt 89%
src.bolt.tasks 86%
src.bolt.utils 81%
Summary 87% (647 / 742)

Minimum allowed line rate is 75%

1 similar comment
@github-actions
Copy link
Copy Markdown

Code Coverage

Package Line Rate Health
src.bolt 89%
src.bolt.tasks 86%
src.bolt.utils 81%
Summary 87% (647 / 742)

Minimum allowed line rate is 75%

@CurroRodriguez CurroRodriguez merged commit c53ef35 into master Mar 21, 2026
4 checks passed
@CurroRodriguez CurroRodriguez deleted the fix/dependabot-vulnerabilities branch March 21, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

security-fix Security fixes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants