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
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.
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)
oshconnect[av]— demo-only[dev][dev]Reverse-dependency chains confirmed with
uv tree --invert --package <name>.Why the exposure is limited
avextra, which exists solely forexamples/axis_video_frame.py(H.264 frame → PNG). It is not installed bypip install oshconnect, nor by any other extra includingall, which deliberately excludesav.requests. Moderate severity.Suggested fix
The repo already has a pattern for this —
pyproject.tomlcarries explicit "Security floors (Dependabot sweep)" entries forrequests,urllib3, andPygments, with a comment noting floors track the latest patched release rather than the original advisory baseline. Extend it:Then
uv lockand confirmuv run pytest -m "not network"plus the strict Sphinx build still pass.Check before closing
pillow>=12.3.0needs wheels for the whole supported range (3.11–3.14 once Develop on Python 3.14, support 3.11+, add non-blocking 3.15 lane #51 lands). Verify rather than assume — this is exactly the checkCLAUDE.mdcalls for when raising a dependency floor.gh api repos/{owner}/{repo}/dependabot/alerts?state=openafterwards; some advisories share a package and will clear together.av/pillowshould stay a published extra at all, given it serves one example. Dropping it would retire 13 of the 16 alerts permanently.