You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Work through the open Dependabot alerts (pillow, soupsieve, idna) #53
Reminder to work through the open Dependabot alerts. All 16 are against uv.lock; none is a direct runtime dependency of the core install, and none is exploitable from ordinary library use — hence "later", not "now".
Current state (16 open: 12 high, 4 moderate)
Package
Locked
Patched
Alerts
Reached via
pillow
12.2.0
12.3.0
13 (11 high, 2 moderate)
oshconnect[av] — demo-only
soupsieve
2.8.3
2.8.4
2 high
beautifulsoup4 → furo → [dev]
idna
3.13
3.15
1 moderate
requests → core, and sphinx → [dev]
Reverse-dependency chains confirmed with uv tree --invert --package <name>.
Why the exposure is limited
pillow (13 of the 16) is only pulled by the av extra, which exists solely for examples/axis_video_frame.py (H.264 frame → PNG). It is not installed by pip install oshconnect, nor by any other extra including all, which deliberately excludes av.
soupsieve arrives through the docs toolchain (furo → beautifulsoup4). Dev-only; never in a user install.
idna is the one that reaches a default install, transitively via requests. Moderate severity.
Suggested fix
The repo already has a pattern for this — pyproject.toml carries explicit "Security floors (Dependabot sweep)" entries for requests, urllib3, and Pygments, with a comment noting floors track the latest patched release rather than the original advisory baseline. Extend it:
av = ["av>=15.0.0", "pillow>=12.3.0"] # was pillow>=11.0.0dev = [
..."soupsieve>=2.8.4", # transitive via furo → beautifulsoup4
]
dependencies = [
..."idna>=3.15", # transitive via requests
]
Then uv lock and confirm uv run pytest -m "not network" plus the strict Sphinx build still pass.
Re-run gh api repos/{owner}/{repo}/dependabot/alerts?state=open afterwards; some advisories share a package and will clear together.
Worth deciding separately whether av/pillow should stay a published extra at all, given it serves one example. Dropping it would retire 13 of the 16 alerts permanently.
Activity