Skip to content

fix: remediate fixable grype vulnerabilities in evaluator deps - #679

Open
scottschreckengaust wants to merge 1 commit into
mainfrom
fix/grype-remediate-fixable-vulns
Open

fix: remediate fixable grype vulnerabilities in evaluator deps#679
scottschreckengaust wants to merge 1 commit into
mainfrom
fix/grype-remediate-fixable-vulns

Conversation

@scottschreckengaust

Copy link
Copy Markdown
Member

Summary

The Grype scanner (daily scheduled run + PR checks in .github/workflows/security-scanners.yml) was failing on High-severity dependency findings in scripts/aidlc-evaluator/uv.lock. This PR remediates every fixable finding and documents a risk-accepted suppression for the one that cannot be upgraded.

Changes

Upgraded via uv lock --upgrade-package (transitive deps):

Package Before After Cleared
pillow 12.2.0 12.3.0 10 High + 2 Medium GHSAs
pydantic-settings 2.14.1 2.14.2 1 Medium GHSA

Suppressed in .grype.yaml (cannot upgrade):

  • mcp 1.23.3 — GHSA-jpw9-pfvf-9f58, GHSA-hvrp-rf83-w775, GHSA-vj7q-gjh5-988w

    mcp is a transitive, dev-only dependency hard-pinned by semgrep (mcp==1.23.3, including semgrep's latest release), so it cannot be bumped without breaking the semgrep dev tool. All three advisories affect the MCP Python SDK's HTTP/WebSocket server transports, which are never exercised: mcp is pulled in only via semgrep's CLI, no MCP server is run, and nothing in this repo imports mcp.

Verification

Scanning the evaluator's tracked dependency manifests with the updated config reports no vulnerabilities (grype exit 0):

grype --config .grype.yaml <tracked uv.lock + pyproject.toml>
No vulnerabilities found

Package test suites still pass (e.g. reporting: 33 passed, shared: 15 passed).

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

Grype's daily scan and PR checks were failing on High-severity SCA
findings in the aidlc-evaluator lockfile. This upgrades the fixable
packages and documents a risk-accepted suppression for the one finding
that cannot be upgraded.

Upgraded (transitive, via `uv lock --upgrade-package`):
- pillow  12.2.0 -> 12.3.0 (clears 10 High + 2 Medium GHSAs)
- pydantic-settings 2.14.1 -> 2.14.2 (clears 1 Medium GHSA)

Suppressed in .grype.yaml (cannot upgrade):
- mcp 1.23.3 (GHSA-jpw9-pfvf-9f58, GHSA-hvrp-rf83-w775,
  GHSA-vj7q-gjh5-988w). mcp is a transitive, dev-only dependency
  hard-pinned by semgrep (`mcp==1.23.3`, including semgrep's latest
  release), so it cannot be bumped without breaking the semgrep dev
  tool. All three advisories affect the MCP Python SDK's HTTP/WebSocket
  server transports, which are never exercised: mcp is pulled in only
  via semgrep's CLI, no MCP server is run, and nothing in this repo
  imports mcp.

Scanning the evaluator's tracked dependency manifests now reports no
vulnerabilities (grype exit 0).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@scottschreckengaust
scottschreckengaust marked this pull request as ready for review July 29, 2026 08:34
@scottschreckengaust
scottschreckengaust requested a review from a team as a code owner July 29, 2026 08:34
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.

2 participants