Run TemplateHaskell with sandboxing
- Ngôn ngữ chính
- Haskell
- Star
- 1.3k
- Fork
- 201
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
From Luite:
> By the way, GHCJS runs Template Haskell with a JS engine now (it used to load native code) so it's not all that hard to build a variant that is safe enough for untrusted code. The standard implementation is a [small server script](https://github.com/ghcjs/ghcjs/blob/master/lib/etc/thrunner.js) that runs on node.js. GHCJS first sends the runtime system and the actual [Template Haskell runner code](https://github.com/ghcjs/ghcjs-prim/blob/master/GHCJS/Prim/TH/Eval.hs), and then incrementally all compiled splices and their dependencies. You could for example modify the script to use a [node.js sandbox](https://github.com/gf3/sandbox), if you're more adventurous you could even send it to the user's browser.
Hướng dẫn đóng góp
Hướng nghiên cứu
Start by reading the linked GHCJS lib/etc/thrunner.js script and GHCJS/Prim/TH/Eval.hs runner to understand how Template Haskell code and dependencies are sent to Node.js. Investigate whether the proposed node.js sandbox can safely isolate untrusted code, then verify that Template Haskell still runs while native access is restricted.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- haskell, node.js
- Lĩnh vực
- compilers, security
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 25/100