Expand description
WASM Plugin System for RMA
This crate provides a WebAssembly-based plugin system that allows users to write custom analysis rules in any language that compiles to WASM.
§Plugin Interface
Plugins implement a simple interface:
analyze(source: &str, language: &str) -> Vec<Finding>
§Example Plugin (Rust compiled to WASM)
ⓘ
#[no_mangle]
pub extern "C" fn analyze(source_ptr: *const u8, source_len: usize) -> *mut Finding {
// ... analysis logic
}Modules§
- host
- Host functions exposed to WASM plugins
- loader
- Plugin loading utilities
- registry
- Plugin registry for managing loaded plugins
Structs§
- Plugin
- A loaded WASM plugin
- Plugin
Finding - A finding reported by a plugin
- Plugin
Input - Input data passed to plugin analysis functions
- Plugin
Manager - The main plugin manager
- Plugin
Metadata - Metadata about a loaded plugin
- Plugin
Output - Output from plugin analysis
Enums§
- Plugin
Error - Errors that can occur in the plugin system