Skip to content

Fix 33 Dependabot security alerts + add least-privilege CI permissions#247

Merged
chrishayuk merged 1 commit into
mainfrom
security/dependency-updates
Jul 22, 2026
Merged

Fix 33 Dependabot security alerts + add least-privilege CI permissions#247
chrishayuk merged 1 commit into
mainfrom
security/dependency-updates

Conversation

@chrishayuk

Copy link
Copy Markdown
Collaborator

Summary

  • Bumps aiohttp, cryptography, urllib3, lxml, soupsieve, transformers, idna, requests, pygments, pytest, and pyasn1 to their patched versions in uv.lock, closing all 33 open Dependabot alerts.
  • The upgrade is scoped to only the flagged packages (uv lock --upgrade-package ...) rather than a full uv lock --upgrade, since a blanket upgrade also pulls in typer 0.27 (vendors its own click fork) which breaks test_run_provider_command_error. Kept the diff minimal and green.
  • Adds a top-level permissions: contents: read block to .github/workflows/ci.yml, closing 3 code-scanning alerts for jobs with no explicit GITHUB_TOKEN permissions.

Also dismissed 7 code-scanning alerts as false positives (with rationale on each): 2 clear-text-logging-sensitive-data alerts that only interpolate booleans/floats (never a real secret), and 5 incomplete-url-substring-sanitization alerts flagging test list-membership assertions rather than the real urlparse-based domain check.

Note: PRs #239 (cryptography) and #236 (pyasn1) are superseded by this change; left untouched per repo owner's request.

Test plan

  • uv sync --all-extras --dev
  • uv run pytest -q — 4440 passed, 12 skipped
  • Confirmed each package version clears its GHSA-patched threshold

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com

…ix per-shard coverage gate

Bumps aiohttp, cryptography, urllib3, lxml, soupsieve, transformers,
idna, requests, pygments, pytest, and pyasn1 to their patched versions,
closing 33 open Dependabot alerts. Upgrade was scoped to only the
flagged packages (not a full `uv lock --upgrade`) since a blanket
upgrade also pulled in typer 0.27, which vendors its own click fork
and breaks test_run_provider_command_error.

Adds a top-level `permissions: contents: read` block to ci.yml,
closing 3 code-scanning alerts for workflows with no explicit
GITHUB_TOKEN permissions.

Adds `--cov-fail-under=0` to each matrix shard's pytest invocation in
ci.yml. Every "test" job was failing in CI because pytest-cov applies
pyproject.toml's global `fail_under = 60` to each shard's own partial
coverage (~12% each), even though the combined total only clears 60%
after report-coverage merges all shards. The final report-coverage
job already enforces `--fail-under=60` on the merged total, so the
per-shard threshold was redundant and wrong.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: chris hay <chris.hay@uk.ibm.com>
@chrishayuk
chrishayuk force-pushed the security/dependency-updates branch from e9feb02 to e63e219 Compare July 21, 2026 16:44
@chrishayuk
chrishayuk merged commit 9b4b2a4 into main Jul 22, 2026
19 checks passed
@chrishayuk
chrishayuk deleted the security/dependency-updates branch July 22, 2026 08:47
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.

1 participant