I would like to set up an app that allows users to send their code and execute it on my server. The thought of running untrusted code makes me cringe, so I am trying to set up an exhaustive list of security threats that should be addressed.
I am assuming I should strip down certain features of the language executed, like file access or (maybe) networking. I also come across terms like
chroot. I know what they mean, but how should I actually use them?
In short: What security threats should I address before allowing users to run their code on my machine, and how do I do it?