就像 Leetcode 那样,用户上传代码执行,但不会对整个系统造成影响
是在环境上做工作?比如,对每次执行建立一个虚拟环境,代码执行完销毁该环境
还是在代码过滤上做工作?比如,限制 import 的包、过滤某些危险代码

就像 Leetcode 那样,用户上传代码执行,但不会对整个系统造成影响
是在环境上做工作?比如,对每次执行建立一个虚拟环境,代码执行完销毁该环境
还是在代码过滤上做工作?比如,限制 import 的包、过滤某些危险代码
1 wwqgtxx Jan 2, 2019 seccomp 了解一下,主要还是靠白名单 |
2 wqyyy Jan 3, 2019 via Android 扔容器里吧 |
3 eslizn Jan 3, 2019 沙箱,不同平台有不同的实现方式。不过现在用 docker 会更方便 |
4 yanaraika Jan 3, 2019 via Android seccomp 限制 syscall cgroup 限制资源占用 chroot 限制文件系统暴露面 代码过滤是最不安全的做法。光个 c 直接写 shellcode 你都拦不住 |
5 azh7138m Jan 3, 2019 via Android 可以 ptrace+setrlimit,再加个超时 kill,基本 ok |
6 ww2000e Jan 3, 2019 沙盒? |