plugin.toml, a manifest file that sits alongside the plugin binary.
Plugin types
Plugins can run either on the host system or inside a sandboxed (guest) environment:
Host plugins implement the
HostPlugin trait with on_task, on_start, on_stop, on_event, and health_check handlers. Guest plugins implement the GuestPlugin trait with on_start, on_stop, execute_sample, and health_check handlers.
Execution contexts
Execution contexts define how plugins coordinate with each other during task execution:
Set via
execution in the [runtime] section of plugin.toml:
State management
State management controls how plugins maintain data across their lifecycle:
Set via
state in the [runtime] section of plugin.toml:
Runtime configuration
Guest plugins carry their runtime settings in the[runtime] section of their plugin.toml. The SDK bakes these values into the plugin binary at build time. Host plugins have the same [runtime] section, but the daemon reads it at registry scan time rather than baking it into the binary.
Key runtime settings include paths (sample directory, artifact directory, stash directory), stash behavior (threshold and TTL), analysis timeout, log filter, and auto-collection configuration for artifacts and external logs.
To change a runtime setting, edit plugin.toml and rebuild the plugin (guest) or restart the daemon (host). See the plugin configuration reference for the full field list, defaults, and validation rules.
Custom plugin settings
Beyond system-level configuration, you can expose custom settings. The daemon passes aHashMap<String, String> config map to the plugin’s on_start handler. In Rust host plugins, the #[malbox::handlers] macro can automatically deserialize this map into a typed struct if your on_start method takes a typed parameter.
Event subscriptions
Host plugins can subscribe to other plugins’ event channels via the[events] section in plugin.toml. This enables reactive analysis pipelines where plugins chain off each other’s output. See Event Hooks for details.
Guest plugins do not support event subscriptions.