19 points par xguru 2022-11-21 | 1 commentaires | Partager sur WhatsApp
  • La méthode utilisée par Figma pour éliminer les vulnérabilités de sécurité lors de l’exécution des plugins
  • Compilation en WebAssembly de QuickJS, écrit en C par Fabrice Bellard, avec des bindings JavaScript/TypeScript
  • Exécution sûre de JavaScript au niveau ES2020
  • Création et manipulation de valeurs à l’intérieur du runtime QuickJS
  • Utilisation de fonctions de l’hôte depuis QuickJS
  • Asyncify : permet d’appeler du code C/C++ synchrone depuis du code JavaScript asynchrone et d’attendre, dans le code C, la fin de l’exécution d’un code JS asynchrone

1 commentaires

 
xguru 2022-11-21

Je pense que c’est une excellente approche du point de vue de la sécurité pour les systèmes qui exploitent des plugins JS sur le web.
Cela semble aussi faire écho aux réflexions de Ryan Dahl sur les JavaScript Containers.

QuickJS Javascript Engine - un moteur JavaScript petit, rapide et embarquable
Figma : mise à jour sur la sécurité des plugins

Un code implémenté de manière similaire, mais avec une API plus simple : define-function : quick.js based sandbox