chore: bump json-repair to 0.60.1, drop fixed vuln ignores in scan#6612
Conversation
- json-repair 0.25.3 -> 0.60.1 (fixes GHSA-xf7x-x43h-rpqh) - pyOpenSSL already at 26.2.0 in lock (covers CVE-2026-27448, CVE-2026-27459) - remove the corresponding --ignore-vuln flags from vulnerability-scan.yml
📝 WalkthroughWalkthroughThe changes update GitPython, pyasn1, and json-repair dependency constraints, revise vulnerability scan exclusions, and adjust JSON repair handling for newer ChangesDependency and JSON repair updates
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR updates CrewAI’s Python dependency set to remediate a json-repair security advisory and tightens the GitHub Actions vulnerability scan configuration by removing now-unneeded ignore rules.
Changes:
- Bump
json-repairdependency from~=0.25.2to~=0.60.1. - Regenerate
uv.lockto reflect the new resolved dependency graph (including updated markers). - Remove
pip-auditignore entries for vulnerabilities that should be fixed by the updated dependency set.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
uv.lock |
Regenerated lockfile reflecting json-repair 0.60.1 and updated resolution markers. |
lib/crewai/pyproject.toml |
Updates the project dependency constraint for json-repair to ~=0.60.1. |
.github/workflows/vulnerability-scan.yml |
Removes pip-audit ignore rules for vulnerabilities expected to be resolved by the dependency updates. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
json-repair >= 0.60 returns an empty string for plain-text input and
wraps brace-enclosed junk in a single-element list instead of the old
""/{} sentinel values. Treat both as unrepairable so the original
tool input is preserved.
- gitpython 3.1.50 -> 3.1.52 (GHSA-2f96-g7mh-g2hx, GHSA-v396-v7q4-x2qj, GHSA-956x-8gvw-wg5v; fixed in 3.1.51) - pyasn1 0.6.3 -> 0.6.4 (GHSA-8ppf-4f7h-5ppj, GHSA-hm4w-wwcw-mr6r) - json-repair 0.60 ships type stubs; remove now-unused type: ignore[import-untyped] comments flagged by mypy
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@lib/crewai/src/crewai/agents/parser.py`:
- Around line 176-181: Preserve the untouched tool input before the triple-quote
normalization in the parser flow, then return that original value from both
fallback branches in the result handling around UNABLE_TO_REPAIR_JSON_RESULTS
and the single-element-list check. Add a regression test covering input
containing """, verifying fallback returns it verbatim.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 726e74d6-ef9e-4dd7-a786-4ed1548d8810
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (6)
.github/workflows/vulnerability-scan.ymllib/crewai-tools/pyproject.tomllib/crewai/pyproject.tomllib/crewai/src/crewai/agents/parser.pylib/crewai/src/crewai/tools/tool_usage.pypyproject.toml
💤 Files with no reviewable changes (1)
- .github/workflows/vulnerability-scan.yml
Summary
json-repairfrom~=0.25.2to~=0.60.1(fixes GHSA-xf7x-x43h-rpqh).uv.lockregenerated: json-repair 0.25.3 → 0.60.1. pyOpenSSL is already at 26.2.0 (≥ 26.0.0), covering CVE-2026-27448 and CVE-2026-27459.--ignore-vulnexclusions for CVE-2026-27448, CVE-2026-27459, and GHSA-xf7x-x43h-rpqh fromvulnerability-scan.yml(remaining ignores for nltk/torch/chromadb have no available fixes)._safe_repair_jsoninlib/crewai/src/crewai/agents/parser.pyto json-repair 0.60 semantics: plain text now repairs to''and brace-enclosed junk to a single-element list; both are treated as unrepairable so the original tool input is preserved.Tests
test_crew_agent_parser.pyandtest_tool_usage.pypass with json-repair 0.60.1.