Open10
JavaScriptのSecure sandbox
web worker
web workerでのjsサンドボックスの情報がなさすぎる。
一応ライブラリはあるようだが、メンテナンスが心配だし、これは第三者のコードを安全に実行するためのものじゃない気がする。
Partytownもセキュアサンドボックスというわけではなさそう?
https://github.com/slashd-analytics/runは一応対策してそうだけどブラックリストでは無理がある
QuickJS
要wasm
wasmなのでセキュリティーは最強
GCがちょっと重いとの情報あり。けど大した問題ではなさそう。
Figmaで採用されている。
iframe
iframeでのサンドボックスをやったことがないので何も知らない
スクリプトを動かそうとすると考慮しないといけないことが多くて大変そう(別オリジンにすればそんな事ないのか?)
同じスレッドで動くのでSpectreの影響を受ける?
codesandboxとかcodepenとかはこれ
Realm / ShadowRealm
同じスレッドで動くのでSpectreの影響を受ける?
proposal-sesのshim
以前Figmaが使っていたrealms-shimに脆弱性が見つかってevaluator-shimになってhttps://github.com/Agoric/ses-shim
に移動してさらにendoに移動した?
eval / new Function
よくわかんないけど多分大丈夫だからヨシ!!!!!(よくない)
js以外の選択肢
- wasm
- lua
- aiscript、もしくは同じような言語実行環境を作る