# QuickJS-emscripten : QuickJS를 WASM으로 컴파일하여 실행하기

> Clean Markdown view of GeekNews topic #7856. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=7856](https://news.hada.io/topic?id=7856)
- GeekNews Markdown: [https://news.hada.io/topic/7856.md](https://news.hada.io/topic/7856.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2022-11-21T10:00:59+09:00
- Updated: 2022-11-21T10:00:59+09:00
- Original source: [github.com/justjake](https://github.com/justjake/quickjs-emscripten)
- Points: 19
- Comments: 1

## Topic Body

- Figma가 플러그인을 실행할 때 보안 취약점을 없애기 위해 사용하는 방법  
- Fabrice Bellard가 C로 작성한 QuickJS를 WebAssembly로 컴파일하고 JavaScript/TypeScript 바인딩을 제공   
- ES2020 수준의 자바스크립트를 안전하게 실행 가능  
- QuickJS 런타임 내부의 값을 생성하고 조작   
- 호스트의 함수를 QuickJS 안에서 이용   
- Asyncify : Synchronous 한 C/C++ 코드를 Asynchronous 한 JavaScript 코드에서 호출 및 C 코드내에서 비동기 JS 코드의 실행이 끝나기를 대기 가능

## Comments



### Comment 13375

- Author: xguru
- Created: 2022-11-21T10:01:24+09:00
- Points: 3

웹상에서 JS 플러그인을 운영하는 시스템들에게는 보안상 굉장히 훌륭한 방식이라고 생각됩니다.  
[Ryan Dahl의 JavaScript Containers에 대한 생각](https://news.hada.io/topic?id=6522) 에도 연결되는 것 같고요.  
  
[QuickJS Javascript Engine - 작고 빠르고 임베드 가능한 자바스크립트 엔진](https://news.hada.io/topic?id=59)  
[Figma 의 An update on plugin security](https://www.figma.com/blog/an-update-on-plugin-security/)  
  
이와 비슷하지만 좀 더 간단한 API로 구현된 코드 [define-function : quick.js based sandbox](https://github.com/taowen/define-function)
