gpt4 book ai didi

go - 如何对 Go 程序进行沙箱化

转载 作者:IT老高 更新时间:2023-10-28 13:10:10 26 4
gpt4 key购买 nike

问:有没有办法对 Go 程序进行沙箱化?
答:是的。见 GAE w/ Goplay.golang.org

这是怎么做到的?

在我的特殊情况下,我希望允许用 Go 编写不受信任的扩展。我想 Go Playground 正是我所需要的。它是开源的吗?或者至少有一些关于如何构建类似服务的文档?

注意:

code.google.com/p/go-playground是 Go Playground 编辑器的源代码。但是沙盒隐藏在 http://golang.org/compile?output=json 的 POST 后面。

最佳答案

Playground 沙盒技术,AFAIK,不是开源的。我认为,其中一个原因是,公开披露实现细节将使任何攻击尝试变得更加容易。

如果滚动您自己的沙箱,我建议提供 {unsafe,runtime,net,os,syscall} 包的假/空/受限版本,并禁止 GOMAXPROCS 高于 1。但设计必须针对非常符合您对沙盒的定义。文件访问是/否/限制?网络是/否/受限?等等...最后但并非最不重要的一点是,应该禁用 CGO、汇编代码甚至构建标签。

认为上面的列表是不完整的。

关于go - 如何对 Go 程序进行沙箱化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14760365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com