Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.malbox.app/llms.txt

Use this file to discover all available pages before exploring further.

This page documents all result types and report structures that plugins can produce. For builder API methods and language-specific signatures, see the SDK reference. For usage examples, see the plugin creation guides for Rust, C++, or Python.

Result types

Every plugin output is a PluginResult with a name and one of three formats.
TypeDescription
JsonSerialized JSON data. Used for structured analysis output
BytesArbitrary binary data
FileReference to a file on disk. The runtime streams the file content
The result name must match a key declared in [results.<name>] in your plugin.toml. See the plugin configuration reference for manifest options like user_visible, display_name, and render.

Reports

A report is a structured JSON result pushed with the reserved name report. It provides a semantic layer for machine-queryable metadata and a presentation layer for frontend rendering.

Classification

ValueDescription
CleanNo malicious indicators detected
SuspiciousExhibits potentially malicious behavior
MaliciousConfirmed malicious behavior
UnknownUnable to determine classification

Confidence

ValueDescription
LowSpeculative or based on weak signals
MediumLikely correct but not certain
HighHighly reliable (strong signature match, behavioral confirmation)

Verdict

The overall threat assessment attached to a report.
FieldTypeRequiredDescription
classificationClassificationYesThreat classification
scoreu8 (0-100)NoNumeric threat score
confidenceConfidenceNoAssessment reliability
labelsstring[]NoFree-form tags (e.g. trojan, ransomware, packed)

Indicator

An indicator of compromise (IOC) observed during analysis.
FieldTypeRequiredDescription
kindstringYesIOC type (e.g. sha256, ipv4, domain, url, mutex, registry, filepath)
valuestringYesThe observed value
contextstringNoWhere or how the IOC was observed
first_seenstringNoISO 8601 timestamp of first observation

Ttp

A MITRE ATT&CK technique observed during analysis.
FieldTypeRequiredDescription
idstringYesTechnique ID (e.g. T1055, T1055.001)
namestringYesHuman-readable name (e.g. “Process Injection”)
evidencestringNoFree-text evidence supporting the observation

ArtifactRef

A reference to a sibling PluginResult produced by the same plugin.
FieldTypeRequiredDescription
result_namestringYesName of the sibling result
kindstringYesArtifact type (e.g. pcap, screenshot, memdump, yara)
descriptionstringNoWhat this artifact contains

Presentation blocks

Report sections contain an ordered list of typed blocks for frontend rendering. Unknown block types degrade gracefully to a JSON tree view.
BlockDescription
MarkdownMarkdown-rendered text
CalloutCallout box with level: info, success, warn, or error
HeadingSection heading (level 1-6)
DividerHorizontal rule
KvKey-value definition list
TableData table with optional sorting and search
CodeSyntax-highlighted code block
JsonCollapsible interactive JSON viewer
HexHex dump with configurable start offset
ImageImage rendered from an artifact reference
DownloadDownload link for an artifact
IocsFormatted indicator of compromise list
TtpsFormatted MITRE ATT&CK technique list
TreeCollapsible hierarchy (process trees, file structures)
TimelineChronological event timeline
GraphNode-and-edge graph (network diagrams, call graphs)

Block helper types

Types used as fields within presentation blocks.

KvPair

FieldTypeDefaultDescription
keystring-Label
valuestring-Content
monoboolfalseRender value in monospace (useful for hashes, paths)

Column

Used by the Table block.
FieldTypeDefaultDescription
keystring-JSON key for row lookup
labelstring-Column header text
typestring"string"Type hint: string, number, bool, datetime

TreeNode

FieldTypeRequiredDescription
labelstringYesDisplay text
childrenTreeNode[]NoNested child nodes
metaJSONNoMetadata shown on hover or expand

TimelineEvent

FieldTypeRequiredDescription
tsstringYesISO 8601 timestamp or relative offset
labelstringYesEvent description
severitystringNoColor hint (e.g. high, medium, low)
metaJSONNoDetail metadata on hover or click

GraphNode

FieldTypeRequiredDescription
idstringYesUnique node ID (referenced by edges)
labelstringYesDisplay label
metaJSONNoMetadata on click or hover

GraphEdge

FieldTypeRequiredDescription
fromstringYesSource node ID
tostringYesTarget node ID
labelstringNoEdge label (e.g. “spawns”, “connects to”)