feat(cli): add manus-agent exploit-search subcommand for unified exploit database search - #127
Open
manus-use wants to merge 1 commit into
Open
feat(cli): add manus-agent exploit-search subcommand for unified exploit database search#127manus-use wants to merge 1 commit into
manus-use wants to merge 1 commit into
Conversation
…oit database search Adds a new `exploit-search` CLI subcommand that queries both Exploit-DB and Packet Storm Security in a single command, presenting a unified view of public exploits for a CVE ID or keyword. Also refactors search_exploit_db.py and search_packetstorm.py to extract reusable library functions (fetch_exploitdb, fetch_packetstorm) that can be called by both the Strands tool entry points and the CLI directly.
This was referenced Jul 18, 2026
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
Adds a new
exploit-searchCLI subcommand that queries both Exploit-DB and Packet Storm Security in a single command, presenting a unified view of public exploits for a CVE ID or keyword.What it does
manus-agent exploit-search CVE-2024-3094 manus-agent exploit-search CVE-2024-3094 --sources exploitdb,packetstorm manus-agent exploit-search "apache struts" --max-results 10 manus-agent exploit-search CVE-2024-3094 --output json--sources)--max-results Ncontrols per-source limit (default: 5, max: 20)Refactoring
Also refactors
search_exploit_db.pyandsearch_packetstorm.pyto extract reusable library functions:fetch_exploitdb(query, *, max_results=5)→ structured dictfetch_packetstorm(query, *, max_results=5)→ structured dictThese functions return a clean
{"source": ..., "query": ..., "exploits": [...], "error": ...}structure that both the Strands tool entry points and the CLI can consume. The Strands tool interfaces are fully backward-compatible.Tests
28 new tests in
tests/test_cli_exploit_search.py:TestFetchExploitdb(5 tests): unit tests for the extracted library functionTestFetchPacketstorm(5 tests): unit tests for the extracted library functionTestExploitSearchCLI(12 tests): CLI subcommand integration tests (text/json output, source filtering, error handling, partial failure, max-results, help flag)TestStrandsToolCompat(6 tests): backward compatibility verification for the refactored Strands tool entry pointsAll tests are 100% mocked (no real HTTP calls). Full suite: 1186 passed, 0 failures.
Files changed
src/manus_agent/tools/search_exploit_db.py— refactored: extractedfetch_exploitdb()+ kept Strands tool compatsrc/manus_agent/tools/search_packetstorm.py— refactored: extractedfetch_packetstorm()+ kept Strands tool compatsrc/manus_agent/cli.py— addedexploit-searchsubcommand (+120 lines: parser, runner,_SUBCOMMANDS, main dispatch)README.md— added TOC entry + CLI reference sectiontests/test_cli_exploit_search.py— new test file (28 tests)Open PRs checked for overlap (none)
Checked all 48 open PRs: #51, #53, #54, #58, #60, #64, #65, #67, #74–90, #96, #98, #100, #103–126.
search_exploit_dbandsearch_packetstormbut no CLI subcommandthreat-feedsCLI (different tool)poc-search(already merged in feat: multi-source PoC aggregator (search_poc_sources) #62) is a multi-source aggregator that includes Exploit-DB among 5 sources —exploit-searchis a dedicated, standalone subcommand focused exclusively on exploit database search with per-source filtering and unified outputNo existing open or merged PR provides a dedicated
exploit-searchCLI subcommand.