Expand description
The Report envelope - a structured, frontend-renderable result.
Plugins produce one PluginResult::Json { name: "report", ... } per task
containing a Report. The scheduler tags that row with role='report'
in the task_results table and the API aggregates it into the task view.
The envelope has two layers:
- A semantic layer (
verdict,indicators,ttps,artifacts) the platform understands and can query across tasks. - A presentation layer (
sectionsof typedBlocks) the frontend renders generically. Unknown block types degrade to a JSON tree view on the client, so adding new variants is never a breaking change.
See builder for the ergonomic ReportBuilder API.
Re-exports§
pub use builder::ReportBuilder;pub use builder::SectionBuilder;
Modules§
Structs§
- Artifact
Ref - A reference to a sibling
PluginResultproduced by the same plugin in the same task - used byBlock::Image/Block::Downloadto resolve artifact URLs on the frontend. - Column
- Column definition for a
Block::Table. - Graph
Edge - A directed edge in a
Block::Graph. - Graph
Node - A node in a
Block::Graph. - Indicator
- An indicator of compromise.
kindis an open vocabulary so plugins can emit kinds the SDK doesn’t know about yet; the frontend renders any kind. Common values:sha256,md5,sha1,ipv4,ipv6,domain,url,email,mutex,registry,filepath,yara_rule. - KvPair
- A single key-value pair for
Block::Kv. - Plugin
Info - Identity of the plugin that produced a report.
- Report
- A plugin’s structured analysis result for a single task.
- Section
- A named section in the report’s presentation layer. Each section
has a title and a list of renderable
Blocks. - Timeline
Event - A single event on a
Block::Timeline. - Tree
Node - A node in a
Block::Tree(e.g. a process or directory entry). - Ttp
- A MITRE ATT&CK technique observation.
iduses the canonicalT####(orT####.###for sub-techniques) form. - Verdict
- The plugin’s overall assessment of the analyzed sample.
Enums§
- Block
- A renderable block. The frontend dispatches on
type; unknown types are rendered as a JSON tree so additions are non-breaking. - Callout
Level - Severity level for a
Block::Callout, controlling its color and icon. - Classification
- Threat classification assigned by a plugin’s verdict.
- Confidence
- How confident a plugin is in its
Classification.
Constants§
- REPORT_
RESULT_ NAME - The well-known
result_namethe scheduler and API use to identify a report envelope among a task’s outputs. Defined inmalbox-plugin-transportso the SDK and scheduler share the same constant without a direct dep. Well-knownresult_namefor a plugin’s structured report envelope. - SCHEMA_
VERSION - Current schema version of the report envelope.