Как безопасно запустить произвольный код с любого языка? - PullRequest
0 голосов
/ 13 октября 2019

Этот вопрос в основном совпадает с Безопасно выполняемый код пользователя , но я также хочу иметь возможность запускать код пользователя на любом языке. Единственный способ сделать это:

  1. Пользователь выполняет код в формате, который можно запустить из командной строки
  2. Формат (возможно, .exe?) Отправляется на сервер
  3. Сервер запускает изолированную среду, такую ​​как vm, и запускает программу внутри нее в командной строке с соответствующими аргументами
  4. Программа возвращается в командную строку и эта информация отправляется обратно на сервер

Однако я вижу несколько проблем с этим.

  1. Связь между сервером sever-> vm-> command line-> vm-> может быть медленной, и этой программе потребуетсябудет выполняться много раз
  2. Я не знаю, какие службы смогут с этим справиться или есть какие-либо
  3. Я никогда не делал подобный проект, поэтому могут быть проблемы с безопасностьюЯ не думал о

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

...