Как «заблокировать» V8? - PullRequest
6 голосов
/ 19 марта 2012

Я новичок в V8 и планирую использовать его в веб-приложении на Python. Цель состоит в том, чтобы позволить пользователям отправлять и выполнять определенные сценарии JS. Очевидно, что это угроза безопасности, поэтому я ищу ресурсы, которые документируют способы «блокировки» v8. Например, могу ли я создать белый список функций, которые можно вызывать? Или черный список библиотек, на которые нельзя ссылаться?

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Если вы используете простой V8 (т.е. не что-то вроде node.js), не будет никаких опасных функций. Сам JavaScript не имеет stdlib, содержащего функции файловой системы и т. Д.

Единственное, что может сделать злоумышленник, - это создать бесконечные циклы, глубокие рекурсии и потери памяти.

0 голосов
/ 21 марта 2012

Будет ли просто блокировка экземпляра V8 (то есть: не давать ему разрешения в chroot) и уничтожение процесса, если он не вернется через определенное время, не сработает?

...