SuperAPI AI Directory

Afterburner

Capability-sandboxed JavaScript and TypeScript runtime for running untrusted scripts, plugins, and agent logic with explicit limits on network, filesystem, environment access, CPU, memory, and time.

Open website

About this tool

Afterburner is a sandboxed, deterministic WebAssembly runtime designed to safely run untrusted scripts, plugins, and agent logic. It compiles multiple languages to WebAssembly and runs them on the same engine, without needing to install a separate runtime for each language.

Key capabilities

  • Multi-language support: Supports languages such as C, Rust, Go, TypeScript, and Python compiled to WebAssembly, and they can run side by side in the same runtime.
  • Sandboxed by default: Programs start with no filesystem, network, or environment access; capabilities are granted on demand via parameters such as --allow-fs, --allow-net, and --allow-env.
  • Deterministic execution: Canonical NaN, fixed relaxed-SIMD results, disabled threads, and fuel metering ensure that the same module produces byte-for-byte identical results on different CPUs.
  • Resource limits: Provides a deterministic instruction budget (fuel), a hard memory cap, and a wall-clock timeout to prevent infinite loops or memory overflow from affecting the host.
  • Package format and registry: The .afb package format is based on SHA-256 content addressing and supports commands such as burn publish, burn install, burn add, and burn search, with dependencies pinned by digest.
  • Compilation and execution: burn compile compiles a program into a single portable wasm artifact, and burn run can execute it anywhere without recompilation or configuration.

Usage After installing the binary, you can operate it via the burn command:

  • burn compile compiles a program into a portable artifact.
  • burn run runs a module or package.
  • burn new scaffolds a project.
  • burn package packages it as .afb.
  • burn publish / burn install publishes or installs a package.
  • burn repl --lang rust|go|c|cpp|ts|js opens the REPL for the corresponding language. You can pin the version via BURN_VERSION and specify the installation directory via BURN_INSTALL.

Use cases

  • Running untrusted code: Run code you do not fully trust, such as user-submitted scripts or code generated by AI agents.
  • Multi-language plugin systems: Let customers extend your product with Rust, Go, C, TypeScript, or Python, with all plugins running under restrictions in the same sandbox.
  • Reproducible data processing: Publish data transformation logic as packages to ensure the same input produces the same output on different machines.
  • Restricted compute processors: Each request runs by default in a closed environment, outbound HTTP requires an allowlist, and the filesystem is disabled by default.
  • Secure scriptable steps: Replace ad hoc shell scripts with version-pinned, capability-controlled packages.
  • AI agent sandbox: Unknown code generated by agents runs in a sealed environment with no network or filesystem permissions until explicitly granted.

Limitations

  • Details such as the specific scope of language support, platform compatibility, and performance data are not yet provided.
  • Commercial information such as fees and pricing is not yet provided.