就像 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
undefined8 Jan 3, 2019
沙盒?
|