Как безопасно выполнить неизвестный код Javascript в Node.js? - PullRequest
4 голосов
/ 19 июня 2011

Мне нужно запустить код, предоставленный неизвестным источником, который проверяет или сортирует что-то.

Как я могу сделать это безопасно в Node.js?

Python имеет RestrictedPython , что-нибудь подобное?

Существует также ADsafe для браузера, но можно ли его использовать в Node.js?

1 Ответ

10 голосов
/ 19 июня 2011

Узел имеет отличный инструмент для этого, node.vm .По сути, вы можете запускать сценарий в своем собственном контексте, эффективно помещая его в «песочницу».

Конечно, поскольку Node работает в одном потоке, вредоносный сценарий всегда может отключить ваш сервер, выполнив:

while (true) {;}

Чтобы быть в полной безопасности, вам нужно запустить новый процесс и использовать передачу сообщений для связи.

...