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