Skip to main content
Glama

vulnforge_audit_wasm_ebpf

Audits WebAssembly runtime configurations (WasmEdge, Wasmtime, Envoy proxy-wasm filters), eBPF-to-Wasm hostcall bridges, and distributed host telemetry streams against 8 critical vectors (CWE-119 memory bounds, CWE-284 WASI root preopens…

Instructions

Audits WebAssembly runtime configurations (WasmEdge, Wasmtime, Envoy proxy-wasm filters), eBPF-to-Wasm hostcall bridges, and distributed host telemetry streams against 8 critical vectors (CWE-119 memory bounds, CWE-284 WASI root preopens, CWE-400 fuel/CPU DoS, CWE-345 unpinned digest, CWE-778 dropped telemetry, CWE-209 credential leaks, CWE-276 shared memory permissions, CWE-693 unconfined host privileges), with causal multi-host attack chain correlation and automated secret scrubbing.

Input Schema

NameRequiredDescriptionDefault
formatNoFormat override (auto-detected if omitted)
contentNoRaw Wasm runtime config, EnvoyFilter YAML, or WAT module content
filePathNoFile path or manifest filename (optional)
telemetryEventsNoArray of host telemetry events or JSON Lines string representing distributed kernel telemetry (optional)
sanitizeTelemetryNoAutomatically scrub and redact plaintext credentials from telemetry output (default: true)
strictCorrelationNoEnable strict multi-host attack chain correlation (default: true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.19.0

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses the detection coverage (8 CWE vectors), multi-host attack-chain correlation, and default secret scrubbing, but it never states that the operation is read-only, whether it makes network calls to collect telemetry, or what permissions/inputs it requires. The safety profile remains implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in a single sentence with no filler. However, the sentence is a dense run-on that packs in eight CWE identifiers plus three technology names and feature qualifiers, reducing readability for an agent parsing it quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex audit tool with six parameters, no annotations, and no output schema, the description should say more about what the audit returns and how results are structured. It thoroughly covers the input-side scope but leaves return format and operational prerequisites undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all six parameters. The description adds vendor/format context (WasmEdge, Wasmtime, Envoy proxy-wasm, WAT) and restates correlation/scrubbing behavior, but it does not materially extend the meaning of individual parameters beyond what the schema provides. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Audits') and a tightly scoped set of resources: WebAssembly runtime configs (WasmEdge, Wasmtime, Envoy proxy-wasm), eBPF-to-Wasm hostcall bridges, and distributed host telemetry. This is clearly narrower than a generic eBPF audit or a Wasm fuzzer, but it never names the nearby siblings (vulnforge_audit_ebpf, vulnforge_fuzz_wasm_runtime) to draw the boundary explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. The listed formats and the scope of resources imply the domain, but an agent must infer whether this replaces or complements vulnforge_audit_ebpf or vulnforge_fuzz_wasm_runtime.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.