Skip to content

fix(deps): remediate GitPython and AnyIO vulnerabilities - #1857

Open
mldangelo-oai wants to merge 2 commits into
mainfrom
fix/gitpython-security-floor
Open

mldangelo-oai wants to merge 2 commits into
mainfrom
fix/gitpython-security-floor

Conversation

@mldangelo-oai

@mldangelo-oai mldangelo-oai commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary: upgrade locked GitPython to 3.1.60 and AnyIO to 4.14.2, with regression floors for both security fixes.\n\nValidation: dependency-lock tests pass (22); formatting and lint checks pass; the CI-equivalent frozen-export dependency audit reports no known vulnerabilities.\n\nThe full uv lock resolver remains blocked by the existing PyTorch/CUDA index inconsistency for Python 3.13. This patch preserves the existing lock graph and uses verified lock artifacts.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-19T22:06:39.279388Z 46986e6 PR opened
🔒 Security Review ✅ Completed 2026-09-19T22:07:10.647069Z 46986e6 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Workflow run and artifacts

Performance Benchmarks

Compared 13 shared benchmarks with a regression threshold of 15%.
Status: 0 regressions, 0 improved, 13 stable, 0 new, 0 missing.
Aggregate shared-benchmark median: 4.236s -> 4.302s (+1.6%).

Workload Benchmark Target Size Files Baseline Current Change Status
nested-payload-review tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_nested_payload_review[nested_raw] nested_raw 78 B 1 273.9us 282.6us +3.2% stable
rejected-basic-auth-candidates tests/benchmarks/test_scan_benchmarks.py::test_rejected_basic_auth_candidates_scan_linearly - 371.1 KiB 1 2.417s 2.494s +3.2% stable
padded-multi-stream-upload tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_padded_multi_stream_upload multi_stream_padded 4.1 KiB 1 333.8us 342.5us +2.6% stable
mixed-model-repository tests/benchmarks/test_scan_benchmarks.py::test_scan_release_candidate_repository release-candidate 547.3 KiB 32 658.08ms 649.00ms -1.4% stable
nested-payload-review tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_nested_payload_review[nested_base64] nested_base64 98 B 1 289.6us 293.3us +1.3% stable
warm-cache-rescan tests/benchmarks/test_scan_benchmarks.py::test_scan_warm_cached_repository_rescan release-candidate 547.3 KiB 32 148.20ms 147.16ms -0.7% stable
direct-malicious-upload tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_direct_malicious_upload malicious_reduce 52 B 1 218.0us 219.1us +0.5% stable
single-checkpoint-preflight tests/benchmarks/test_scan_benchmarks.py::test_scan_single_checkpoint_before_load single_checkpoint.pkl 183.0 KiB 1 103.36ms 102.92ms -0.4% stable
suspicious-pickle-intake tests/benchmarks/test_scan_benchmarks.py::test_scan_suspicious_pickle_intake suspicious-intake 183.8 KiB 4 121.13ms 121.52ms +0.3% stable
chunked-upload-stream tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_chunked_upload_stream chunked_stream 278.2 KiB 1 112.10ms 112.35ms +0.2% stable
duplicate-heavy-registry tests/benchmarks/test_scan_benchmarks.py::test_scan_duplicate_registry_snapshot registry-snapshot 915.2 KiB 13 565.64ms 564.58ms -0.2% stable
clean-training-checkpoint tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_clean_training_checkpoint safe_large 278.2 KiB 1 109.08ms 109.20ms +0.1% stable
nested-payload-review tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_nested_payload_review[nested_hex] nested_hex 130 B 1 302.4us 302.5us +0.0% stable

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 46986e664f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

RENOVATE_CONFIG = ROOT_DIR / "renovate.json"
PICKLESCAN_PYPROJECT = ROOT_DIR / "packages" / "modelaudit-picklescan" / "pyproject.toml"
PATCHED_GITPYTHON_FLOOR = (3, 1, 59)
PATCHED_GITPYTHON_FLOOR = (3, 1, 60)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Enforce the patched GitPython floor in package metadata

This guard only raises the version in uv.lock, which is not included in the published wheel's dependency metadata. The mlflow, all-ci, and all extras still declare only mlflow-skinny>=3.13.0; because that release already resolved successfully with GitPython 3.1.59 in the parent lock, an installation with 3.1.59 already present or constrained can retain the vulnerable version. Add GitPython>=3.1.60 to the relevant extras and make this regression test assert those declarations so the security floor also protects package consumers.

Useful? React with 👍 / 👎.

@mldangelo-oai mldangelo-oai changed the title fix(deps): upgrade GitPython security floor fix(deps): remediate GitPython and AnyIO vulnerabilities Sep 20, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant