gpt4 book ai didi

python - fstat() 是安全的(沙盒)操作吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:17 24 4
gpt4 key购买 nike

我目前正在使用沙盒 PyPy 编写 Python 沙盒。基本上,沙箱通过提供一个“ Controller ”来工作,该 Controller 将系统库调用映射到指定的函数。按照 codespeak 中的说明进行操作后(通过设置过程),我意识到默认 Controller 不包括 os.fstat() 的替代品,因此当我调用 open() 时崩溃>。具体来说,包含的 pypy/translator/sandbox/sandlib.py 不包含 do_ll_os__ll_os_fstat 的定义。

到目前为止,我已经将其实现为:

def do_ll_os__ll_os_fstat(self, fd):
return os.fstat(fd)

这似乎工作正常。这样安全吗?这会在沙箱中造成漏洞吗?

最佳答案

fstat 调用可以揭示某些您可能不想保密的信息。除其他事项外:

  • 两个文件描述符是否在同一个文件系统上
  • 底层文件系统的 block 大小
  • 文件所有者的数字 UID/GID
  • 文件的修改/访问时间

但是,它不会修改任何内容,所以如果您不介意这种(相对较小的)信息泄露,没问题。您还可以更改某些结果以屏蔽您想要隐藏的信息(例如,将所有者 UID/GID 设置为 0)

关于python - fstat() 是安全的(沙盒)操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6576194/

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