- Método que a Figma usa ao executar plugins para eliminar vulnerabilidades de segurança
- Compila o QuickJS, escrito em C por Fabrice Bellard, para WebAssembly e fornece bindings para JavaScript/TypeScript
- Permite executar com segurança JavaScript no nível do ES2020
- Cria e manipula valores dentro do runtime do QuickJS
- Usa funções do host dentro do QuickJS
- Asyncify: permite chamar código C/C++ síncrono a partir de código JavaScript assíncrono e aguardar, dentro do código C, o término da execução de código JS assíncrono
1 comentários
Acho que, para sistemas que operam plugins de JS na web, isso parece uma abordagem excelente do ponto de vista de segurança.
Também me parece se conectar com as ideias de Ryan Dahl sobre JavaScript Containers.
QuickJS Javascript Engine - um engine JavaScript pequeno, rápido e embarcável
Figma: An update on plugin security
Um código implementado de forma parecida, mas com uma API mais simples: define-function : quick.js based sandbox