Open10

JavaScriptのSecure sandbox

uzmoiuzmoi

web worker
web workerでのjsサンドボックスの情報がなさすぎる。
一応ライブラリはあるようだが、メンテナンスが心配だし、これは第三者のコードを安全に実行するためのものじゃない気がする。

https://github.com/slashd-analytics/run
https://github.com/developit/workerize

uzmoiuzmoi

QuickJS
要wasm
wasmなのでセキュリティーは最強
GCがちょっと重いとの情報あり。けど大した問題ではなさそう。
Figmaで採用されている。

https://bellard.org/quickjs/

uzmoiuzmoi

iframe
iframeでのサンドボックスをやったことがないので何も知らない
スクリプトを動かそうとすると考慮しないといけないことが多くて大変そう(別オリジンにすればそんな事ないのか?)
同じスレッドで動くのでSpectreの影響を受ける?

codesandboxとかcodepenとかはこれ

uzmoiuzmoi

eval / new Function

よくわかんないけど多分大丈夫だからヨシ!!!!!(よくない)

uzmoiuzmoi

js以外の選択肢

  • wasm
  • lua
  • aiscript、もしくは同じような言語実行環境を作る