Most of these steps are standard - create a file, run a system call to compile something, spoof using I / O --- I think that any language should be able to do this, except for the very important step "work in the sandbox " I know several sandbox solutions:
- use OS commands to limit or remove capabilities (chroot, setrlimit, file system permissions on Linux)
- remove all dangerous functions from graduated language
- interrupt system events
- run the sandbox inside the virtual machine.
This list is probably not exhaustive. The system I'm connected to, http://cscircles.cemc.uwaterloo.ca uses option # 1. Again, most of the work is done in system calls, so I canβt imagine that one language is much better than another? We use php for high-level materials and C for sandboxing. Does this help answer your question?
source share