19 ポイント 投稿者 xguru 2022-11-21 | 1件のコメント | WhatsAppで共有
  • Figmaがプラグインを実行する際に、セキュリティ脆弱性をなくすために使っている方法
  • Fabrice BellardがCで作成したQuickJSをWebAssemblyにコンパイルし、JavaScript/TypeScriptバインディングを提供
  • ES2020レベルのJavaScriptを安全に実行可能
  • QuickJSランタイム内部の値を生成して操作
  • ホストの関数をQuickJS内で利用
  • Asyncify : SynchronousなC/C++コードをAsynchronousなJavaScriptコードから呼び出し、Cコード内で非同期JSコードの実行完了を待機可能

1件のコメント

 
xguru 2022-11-21

Web 上で JS プラグインを運用するシステムにとっては、セキュリティ面で非常に優れた方式だと思います。
Ryan DahlのJavaScript Containersについての考え にもつながる話のようです。

QuickJS Javascript Engine - 小さく高速で埋め込み可能なJavaScriptエンジン
Figma の An update on plugin security

これと似ていますが、もう少しシンプルな API で実装されたコード define-function : quick.js based sandbox