Add expansion module: Whisper - #801
Open
elakkuvan-r wants to merge 1 commit into
Open
Conversation
Enriches ip-src/ip-dst, domain/hostname, and AS attributes with threat intelligence and infrastructure context (DNS, ASN/BGP, WHOIS) from the Whisper graph, in misp_standard format with PyMISP-built objects. Supports both expansion and hover (compact threat verdict). Includes a TLP egress ceiling (max_tlp, default tlp:amber+strict) enforced before any attribute value leaves MISP, and a wall-clock budget (timeout setting) with analyst-visible truncation notes. Support packages (whisper_core, whisper_misp) ship as the whisper-misp PyPI distribution, added to the minimal/all extras. Logo + generated documentation entries included. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Member
|
Can you fix the module to pass the CI tests? Thank you very much. |
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.
New expansion + hover module: Whisper
Enriches
ip-src/ip-dst,domain/hostname, andASattributes with threat intelligence and infrastructure context (DNS, ASN/BGP, WHOIS) from the Whisper graph, returningmisp_standardresults built with PyMISP (domain-ip/asnobjects with references back to the seed attribute, plus context notes).Behavior highlights
max_tlpsetting (defaulttlp:amber+strict) is enforced before any attribute value leaves MISP — enriching a marked attribute is egress, so the operator's ceiling is the consent boundary.timeoutsetting (default 8s, kept underPlugin.Enrichment_timeout) bounds every flow; anything the budget cuts is named in an analyst-visible truncation note rather than failing the enrichment, and content-free results return an honest status note instead of echoing the seed.api_url,api_key,max_tlp,timeout.Dependency
The support packages ship as
whisper-mispon PyPI (MIT; depends only onpymispandrequests, both already in your tree) — added to theminimalandallextras following the existing vendor-library pattern.Included
misp_modules/modules/expansion/whisper.py(uses the package'scheck_input_attribute/standard_error_message; formatted with the repo's black/isort settings)documentation/logos/whisper.png+ generated-doc entries indocumentation/mkdocs/expansion.mdanddocumentation/README.md, README module-list line__init__.pychange needed under the current auto-discovery loaderTesting
/modulesregistration check, and your pytest suite, on py3.10 and py3.14 — currently green.🤖 Generated with Claude Code