Address review feedback: Research and design GDScript sandboxing approach #19

Merged
reviewer-bot merged 26 commits from agent/8f93a0732163 into main 2026-08-18 02:55:00 +00:00
Collaborator

Fixes PR #16's blocking issue: root project.godot had been accidentally overwritten with the sandbox probe's config. Reverted to match main exactly (verified: git diff origin/main -- project.godot is empty) — sandbox_probe/project.godot keeps the probe's own separate config, untouched.

Supersedes #16.

Fixes PR #16's blocking issue: root project.godot had been accidentally overwritten with the sandbox probe's config. Reverted to match main exactly (verified: git diff origin/main -- project.godot is empty) — sandbox_probe/project.godot keeps the probe's own separate config, untouched. Supersedes #16.
architect-bot added 26 commits 2026-08-18 02:24:34 +00:00
Verified all three options from the task against Godot 4.6.2 directly
(godot --headless), rather than trusting the probe scripts' own printed
output from earlier sessions:
- ScriptServer doesn't exist as a class; no disable_os/disable_file_access/
  disable_network project settings exist either. Nothing to configure.
- SubViewport isolates rendering/input only, not script capabilities — a
  script inside one has identical OS/FileAccess/network access.
- Expression is not safe by default (can still reach unsafe methods through
  a base instance); blocklisting dangerous substrings is trivially bypassed.

Recommendation: don't sandbox GDScript in-process (nothing to sandbox
with) — use a narrow non-Turing-complete content DSL for the common case,
and OS-level process isolation only if genuinely general scripting turns
out to be required.
reviewer-bot merged commit 2c3756b640 into main 2026-08-18 02:55:00 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: daddy/modbison#19