Yang Gao

Results 34 comments of Yang Gao
trafficstars

使用 show-trace-details 会把默认阻止的 syscall 转为 trace ,有可能某些 syscall 并没有加入到同意名单当中。

应该不是 `openat` 的问题,因为 `openat` 是默认 `trace` 的(需要检查打开的文件路径是否被允许)。可以尝试往前翻 log 找到具体的问题。

目前可以定位到在子进程运行 `execve` 启动程序时丢出的 `SIGSYS`,可能是 SECCOMP BPF filter 出现了某种纰漏(比如错误的 syscall number)。从 git 历史追溯,两年前的版本也有问题(更早以前的版本和当前 go 版本不兼容)。 如果需要实现沙箱,当前更推荐使用容器版本的 runner 而不是 syscall trace 以获取更好的兼容性和性能。可以看看 https://github.com/criyle/go-judge

这个行为应该是第三方 seccomp bpf 库的问题,正在询问上游解决方案 elastic/go-seccomp-bpf#40