Plugins

UltraSushiTron plugins are WASM modules that extend agent capabilities. Each plugin declares a type and a set of capabilities that are validated at install time and enforced at runtime.

Plugin Types

Every plugin declares one of four types via the plugin_type field. The type determines which capabilities are valid and how the plugin integrates with the agent runtime.

TypePurposeExamples
tool Execute actions and transform data Code formatter, linter, data pipeline
channel Bi-directional messaging with external services Slack bot, Discord bridge, Telegram relay
provider LLM or service backends Custom model adapter, API gateway
memory Storage backends for agent memory Vector DB adapter, key-value store

If plugin_type is omitted, the plugin defaults to tool.

Manifest Format

Each plugin ships a plugin.json manifest alongside its WASM binary. The manifest declares metadata, capabilities, and the entry point function.

FieldTypeRequiredDescription
namestringYesUnique plugin identifier
versionstringYesSemver version
descriptionstringYesHuman-readable description
authorstringYesPlugin author or team
licensestringNoSPDX license identifier
plugin_typestringNoOne of tool, channel, provider, memory. Defaults to tool
capabilitiesarrayYesRequired capabilities (see below)
entrystringYesWASM exported function name
inputsobjectNoInput parameter definitions
signaturestringNoEd25519 signature for verified publishers
repositorystringNoSource repository URL
homepagestringNoPlugin homepage URL
keywordsstring[]NoKeywords for search and discovery (max 20)
changelogstringNoPer-version release notes (max 5000 chars)

Example: Tool Plugin

examples/hello-plugin/plugin.json json
{
  "name": "hello-plugin",
  "version": "0.1.0",
  "description": "Example plugin demonstrating UltraSushiTron plugin system",
  "capabilities": [
    "logging",
    {
      "type": "secret_request",
      "secret_types": ["api_key", "token"]
    }
  ],
  "entry_point": "execute",
  "author": "UltraSushiTron Team"
}

Example: Browser Agent Plugin

examples/browser-agent/plugin.json json
{
  "name": "browser-agent",
  "version": "0.1.0",
  "description": "Example plugin demonstrating browser automation capabilities",
  "capabilities": [
    "logging",
    {
      "type": "browser",
      "allowed_domains": ["example.com", "httpbin.org"],
      "allowed_actions": ["navigate", "get_text", "click", "wait_for_selector"],
      "headless_only": true
    }
  ],
  "entry_point": "execute",
  "author": "UltraSushiTron Team"
}

Capability System

Capabilities are the security boundary between plugins and the host system. Each capability must be declared in the manifest and approved by the user at install time. The runtime enforces these grants β€” undeclared capabilities are blocked.

CapabilityParametersDescription
logging None Write to the agent log. Granted to all plugins by default.
filesystem paths, access (read | write | read_write) Read/write files within specified paths only.
network domains, protocols (optional) HTTP/WS access restricted to listed domains.
secret_request types (SecretType[]), max_duration (optional) Request secrets from the vault. Requires user approval per access.
exec commands, allow_shell (optional) Execute specific system commands.
ai models, max_tokens Access LLM inference with token budget limits.
browser allowed_domains, allowed_actions, headless_only Browser automation via the companion Playwright service.

Type-Specific Restrictions

Not all capabilities are valid for all plugin types. The runtime rejects manifests that declare capabilities outside their type's allowed set.

Plugin TypeAllowed CapabilitiesRestricted
tool All capabilities None
channel logging, network, secret_request filesystem, exec, browser, ai
provider logging, network, ai filesystem, exec, browser, secret_request
memory logging, filesystem, network exec, browser, secret_request, ai

Marketplace Catalog

The UltraSushiTron marketplace ships 23 verified plugins across 7 categories. Browse and install them from the Plugin Marketplace.

Security

PluginTypeDescription
secret-leak-scannertoolScan files for leaked secrets using 16+ regex patterns
compliance-auditortoolAudit against SOC2, HIPAA, and PCI-DSS frameworks
sbom-checkertoolGenerate CycloneDX SBOMs and check for CVEs

Cloud Providers

PluginTypeDescription
aws-secrets-syncproviderBidirectional sync with AWS Secrets Manager
gcp-secret-connectorproviderGoogle Cloud Secret Manager operations
azure-keyvault-bridgeproviderAzure Key Vault secret and certificate ops
k8s-secret-operatorproviderKubernetes Secret resource CRUD

CI/CD

PluginTypeDescription
github-actions-injectortoolGitHub Actions OIDC and secret injection
terraform-secret-providertoolHCL and Pulumi config generation
ci-adapter-packtoolGitLab CI, Jenkins, CircleCI adapters

AI Integrations

PluginTypeDescription
llm-api-gatewayproviderMulti-provider LLM API key routing
mcp-secret-providertoolMCP server with JSON-RPC secret tools

Monitoring

PluginTypeDescription
notification-hubchannelSlack, Teams, Discord webhook notifications
db-credential-generatortoolShort-lived database credentials
secret-analyticstoolUsage analytics and anomaly detection

Chat Connectors

PluginTypeDescription
slack-botchannelBidirectional Slack bot with slash commands and Block Kit responses
telegram-relaychannelTelegram bot relay with inline commands and HTML formatting
discord-botchannelDiscord bot with slash commands and rich embeds

Developer Tools

PluginTypeDescription
cert-monitortoolTLS certificate expiry monitoring
env-sync-agenttoolSync .env files across environments
connection-string-assemblertoolCompose connection strings for 6 DB formats
secret-migration-tooltoolCross-environment secret migration
ide-secret-peektoolLSP-compatible secret metadata peek

WASM Sandbox

All plugins execute inside a WASM sandbox with strict isolation:

  • No direct syscalls β€” plugins communicate with the host exclusively through declared capability imports
  • Memory isolation β€” each plugin instance gets its own linear memory
  • Deterministic execution β€” no access to clocks, random, or non-deterministic APIs unless explicitly granted
  • Resource limits β€” execution time and memory consumption are bounded by the host

Marketplace Security Pipeline

Plugins published to the marketplace undergo automated security analysis before approval:

  1. WASM binary analysis β€” imports, exports, memory pages, WASI usage, suspicious imports
  2. Capability audit β€” declared capabilities compared against detected usage; mismatches flagged
  3. LLM review β€” AI-assisted code review with approve/flag/reject recommendation
  4. Risk scoring β€” composite score determining automatic approval or manual review

Admin Controls

Installed plugins can be managed from the mobile admin interface (Plugins tab) or via the Admin API:

  • List plugins β€” view all installed plugins with type, version, and enabled state
  • Toggle plugins β€” enable or disable individual plugins at runtime
  • View capabilities β€” inspect the granted capabilities for each plugin