Feature / Issue
Otto doesn't really work out for us since it doesn't offer the performance we need nor the sandboxing features (like limiting the allocated memory). We should switch to duktape (there are go bindings).
things to figure out:
- we need
duk_create_heap for sandboxing to make sure there is no way to allocate more mem than we provide. However it doesn't seem to be implemented (https://github.com/olebedev/go-duktape/blob/v3/api.go#L1597). However, it's used here but it's not exported so we might need to fork.
- take in account this file. We need to understand it in order to build a secure VM.
Acceptance criteria
Feature / Issue
Otto doesn't really work out for us since it doesn't offer the performance we need nor the sandboxing features (like limiting the allocated memory). We should switch to duktape (there are go bindings).
things to figure out:
duk_create_heapfor sandboxing to make sure there is no way to allocate more mem than we provide. However it doesn't seem to be implemented (https://github.com/olebedev/go-duktape/blob/v3/api.go#L1597). However, it's used here but it's not exported so we might need to fork.Acceptance criteria