Sandbox - Luerl (Lua in Elixir) wrapper focused on :luerl_sandbox features

Sandbox v0.3.0 provides restricted, isolated scripting environments for Elixir through the use of embedded Lua.

This project is powered by Robert Virding’s amazing Luerl, an Erlang library that lets one run Lua scripts on the BEAM.

Luerl executes Lua code without running a Lua VM as a separate application! Rather, the state of the VM is used as a data structure that can be externally manipulated and processed.

The :luerl_sandbox module is utilized wherever possible. This limits access to dangerous core libraries. It also permits Lua scripts to be run with enforced CPU reduction limits.

link to source on Github

9 Likes

(Note that some hack workarounds are in place at the moment to make this work. Luerl’s sandbox module will likely get a broader API that will allow a cleaner implementation in the near future.)

2 Likes