feat(tools): get_version_range — CVE affected version range resolver + CLI subcommand (+85 tests) - #54
Open
manus-use wants to merge 1 commit into
Open
feat(tools): get_version_range — CVE affected version range resolver + CLI subcommand (+85 tests)#54manus-use wants to merge 1 commit into
manus-use wants to merge 1 commit into
Conversation
manus-use
pushed a commit
that referenced
this pull request
Jun 29, 2026
…n PRs roadmap, and changelog section - poc-search subcommand (PR #62): multi-source PoC aggregator (trickest, VulnCheck KEV, Exploit-DB, GitHub, NVD) - changelog subcommand (PR #66): conventional-commit release automation - VulnCheck enrichment section: VULNCHECK_API_KEY optional, vulncheck-kev + nist-nvd2 indexes - Updated 8-step VI pipeline description to include VulnCheck KEV in step 2, patch diff/exploit complexity/version range in step 6 - Coming Soon table: 9 open PRs (#51 silent-patches, #53 cve-timeline, #54 version-range, #58 vendor-response, #60 poc-freshness, #63 blast-radius, #64 sbom-scan, #65 temporal-priority, #67 cluster-variants) - Updated built-in tools list to mention VulnCheck KEV and new VI tools - Added Changelog section linking to CHANGELOG.md - Updated Table of Contents with Changelog entry - Expanded Security examples to include poc-search and changelog
manus-use
force-pushed
the
feat/version-range
branch
from
July 3, 2026 00:12
93e789e to
ef44783
Compare
This was referenced Jul 5, 2026
This was referenced Jul 7, 2026
This was referenced Jul 11, 2026
This was referenced Jul 17, 2026
Open
feat(tools): silent patch detector — detect_silent_patches tool + manus-agent silent-patches CLI
#51
Open
manus-use
force-pushed
the
feat/version-range
branch
from
August 12, 2026 16:08
ef44783 to
dafffb0
Compare
manus-use
force-pushed
the
feat/version-range
branch
from
August 15, 2026 16:07
dafffb0 to
f1af951
Compare
…I subcommand (+85 tests)
manus-use
force-pushed
the
feat/version-range
branch
from
August 17, 2026 16:08
f1af951 to
56e78fc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the
get_version_rangetool andmanus-agent version-rangeCLI subcommand — a README-documented feature that had zero implementation (no tool file, no CLI dispatch, no tests).What it does
Resolves a CVE to its affected version ranges per ecosystem and package by:
configurations[].nodes[].cpeMatch[]to extractversionStartIncluding,versionEndExcluding, etc. into structured range tuplesaffected[].ranges[].eventswithintroduced/fixed/last_affectedand concrete version lists; follows GHSA aliases when the CVE record lacks package-level dataCLI usage (matches README docs)
manus-agent version-range CVE-2021-44228 manus-agent version-range CVE-2021-44228 --ecosystem pypi manus-agent version-range CVE-2021-44228 --output json | jq .first_patched_versionEcosystem support
Supports filtering by:
auto(all),pypi,npm,maven,go,cargo,nuget,rubygems,composer. Normalises aliases (e.g., "python" → PyPI, "node" → npm, "rust" → crates.io).Design
requests(already in deps)VERSION_RANGE_MAX_RETRIES,VERSION_RANGE_RETRY_BASE_DELAYenv vars)Test coverage
85 fully-mocked tests covering:
Full test suite: 1243 passed, 0 failures.
Files changed
src/manus_agent/tools/get_version_range.py(new — tool implementation)src/manus_agent/cli.py(dispatch + parser +_SUBCOMMANDS)tests/test_version_range.py(new — 85 tests)Duplicate check
Checked all 50 open PRs (#137–#186) and 30 most recent merged PRs. No existing open or merged PR implements
version-range. Closest PRs reviewed:get_osv_data— single CVE OSV lookup, no NVD CPE integration or version-range resolutioncve-enrich— multi-source enrichment dump, not structured version-range outputsbom-scan— SBOM file scanning, different scope (file → vulns vs CVE → versions)