IssueRaiser

Implement a Sandbox mode

### Describe the project you are working on Godot ### Describe the problem or limitation you are having in your project It seems many users want to use Godot in a way where more complex content (such as scenes or Godot resources or even scripts) are downloaded from the internet. Unlike just sending simple variants, this is very insecure because the attack surface is huge. Just limiting the Godot API (or script) to not accessing files and similar things is far from ideal because the more code you can run the more you can workaround to exploit the engine, and Godot is not designed for security (except in some areas like networking and protocols), it is designed for performance. ### Describe the feature / enhancement and how it helps to overcome the problem or limitation A _real_ sandbox mode to run projects should be provided to users, to make sure security is as high as possible and attack surfaces are as limited as possible. ### Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams The way this would work takes advantage of the Godot architecture. Basically, it would split Godot into two processes, similar to software like Chrome works, one that talks to the low-level OS and another that runs the game in a sandbox (and sends commands to the first) As such, this means that some of the core engine classes would effectively work as "proxies", like: * OS * DisplayServer * AudioDriver * RenderingDevice * FileAccess * DirAccess Meaning w

Posted by reduz on Jul 29, 2022, 2:17 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.2,500 issues0 comments

github (SaaS)

Implement a Sandbox mode

reduzJul 29, 2022, 2:17 PM

### Describe the project you are working on Godot ### Describe the problem or limitation you are having in your project It seems many users want to use Godot in a way where more complex content (such as scenes or Godot resources or even scripts) are downloaded from the internet. Unlike just sending simple variants, this is very insecure because the attack surface is huge. Just limiting the Godot API (or script) to not accessing files and similar things is far from ideal because the more code you can run the more you can workaround to exploit the engine, and Godot is not designed for security (except in some areas like networking and protocols), it is designed for performance. ### Describe the feature / enhancement and how it helps to overcome the problem or limitation A _real_ sandbox mode to run projects should be provided to users, to make sure security is as high as possible and attack surfaces are as limited as possible. ### Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams The way this would work takes advantage of the Godot architecture. Basically, it would split Godot into two processes, similar to software like Chrome works, one that talks to the low-level OS and another that runs the game in a sandbox (and sends commands to the first) As such, this means that some of the core engine classes would effectively work as "proxies", like: * OS * DisplayServer * AudioDriver * RenderingDevice * FileAccess * DirAccess Meaning w

Comments (0)

No comments yet. Start the discussion.

Comment on this issue