Lucet   Build Status

A Bytecode Alliance project

Lucet is a native WebAssembly compiler and runtime. It is designed to safely execute untrusted WebAssembly programs inside your application.

Check out our announcement post on the Fastly blog.

Lucet uses, and is developed in collaboration with, the Bytecode Alliance's Cranelift code generator. It powers Fastly's Terrarium platform.

asciicast

Lucet's documentation is available at https://bytecodealliance.github.io/lucet (sources).

Getting started

To learn how to set up the toolchain, and then compile and run your first WebAssembly application using Lucet, see Getting started.

Development environment

Lucet is developed and tested on x86-64 Linux, with experimental support for macOS. For compilation instructions, see Compiling.

Supported languages and platforms

Lucet supports running WebAssembly programs written in C and C++ (via clang), Rust, and AssemblyScript. It does not yet support the entire WebAssembly spec, but full support is planned.

Lucet's runtime currently supports x86-64 based Linux systems, with experimental support for macOS.

Security

The Lucet project aims to provide support for secure execution of untrusted code. Security is achieved through a combination of Lucet-supplied security controls and user-supplied security controls. See Security for more information on the Lucet security model.

Reporting Security Issues

The Lucet project team welcomes security reports and is committed to providing prompt attention to security issues. Security issues should be reported privately via Fastly’s security issue reporting process. Remediation of security vulnerabilities is prioritized. The project teams endeavors to coordinate remediation with third-party stakeholders, and is committed to transparency in the disclosure process.