feat(cli): add manus-agent otx subcommand for AlienVault OTX threat intelligence - #125
Open
manus-use wants to merge 1 commit into
Open
feat(cli): add manus-agent otx subcommand for AlienVault OTX threat intelligence#125manus-use wants to merge 1 commit into
manus-use wants to merge 1 commit into
Conversation
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
manus-agent otx <CVE-ID>CLI subcommand that wires the existingget_otx_cve_detailsStrands tool to the terminal. Users can now look up AlienVault OTX threat intelligence for any CVE without invoking the full agent.What's included
CLI (
src/manus_agent/cli.py)_build_otx_parser()— positional CVE-ID,--output {text,json}(default: text)_run_otx(argv)— CVE ID validation (uppercased), synthetic ToolUse invocation, text/JSON output routing_print_otx_text(cve_id, data)— human-readable pulse display including:_SUBCOMMANDSset andmain()dispatchREADME
Tests (
tests/test_cli_otx.py) — 29 testsTestBuildOtxParser(8): prog name, args, output choices, help textTestRunOtxInvalidInputs(4): invalid format, empty, partial, lowercase normalisationTestRunOtxTextOutput(2): no-pulses message, JSON→text rendering with full pulse detailsTestRunOtxJsonOutput(2): structured JSON pass-through, text message JSON wrappingTestRunOtxErrors(3): API key missing, HTTP error, import failureTestPrintOtxText(7): basic output, truncation, adversary, countries, malware, ATT&CKTestSubcommandsRegistry(1): "otx" in_SUBCOMMANDSTestMainDispatchOtx(3): basic dispatch, output flag forwarding, non-zero exit propagationAll tests are 100% mocked — no real HTTP calls.
Test results
(Baseline 1158 + 29 new = 1187 total, 0 failures)
Duplicate check
Confirmed no overlap with existing open or merged PRs:
get_otx_cve_detailsbut no CLI subcommandotxCLI subcommandUsage