Summary
Security review (0.4.11) found that database-driver extensions can run without OS-level sandbox in two cases:
- Windows:
SandboxLaunchCommand sets usesOsSandbox: false (soft isolation until AppContainer helper lands).
- Linux: when
bwrap is not available, launch falls back to direct plugin execution with usesOsSandbox: false.
A malicious or compromised extension/driver installed locally could then access the full user session (filesystem, network beyond policy, etc.).
Affected code
lib/core/extensions/sandbox/sandbox_launch_command.dart (lines 64–65, 92–98)
lib/core/extensions/sandbox/sandbox_process_runner.dart
Current mitigations
SandboxPolicy validates manifest capabilities before install.
- Preview-only gate blocks drivers without process sandbox.
- Credentials injected via stdio RPC, not argv (
SandboxSecretGuard).
Proposed fix
Pick one or combine:
- Fail-closed: refuse to launch process-sandbox drivers when OS sandbox wrapper is unavailable; show actionable UI (install bwrap / unsupported platform).
- Explicit consent: require user confirmation when
usesOsSandbox == false, with clear risk wording.
- Windows: track AppContainer / Job Object hardening and re-enable
usesOsSandbox: true when ready.
Acceptance criteria
Severity
High — architectural / platform limitation with direct impact on extension trust model.
Context
Found during post-0.4.11 security review. Related: Block E sandbox work, Marketplace 0.5.0.
Summary
Security review (0.4.11) found that database-driver extensions can run without OS-level sandbox in two cases:
SandboxLaunchCommandsetsusesOsSandbox: false(soft isolation until AppContainer helper lands).bwrapis not available, launch falls back to direct plugin execution withusesOsSandbox: false.A malicious or compromised extension/driver installed locally could then access the full user session (filesystem, network beyond policy, etc.).
Affected code
lib/core/extensions/sandbox/sandbox_launch_command.dart(lines 64–65, 92–98)lib/core/extensions/sandbox/sandbox_process_runner.dartCurrent mitigations
SandboxPolicyvalidates manifest capabilities before install.SandboxSecretGuard).Proposed fix
Pick one or combine:
usesOsSandbox == false, with clear risk wording.usesOsSandbox: truewhen ready.Acceptance criteria
SandboxEngine.processdrivers without user-visible decision or hard block.bwrap: documented behavior + tests.Severity
High — architectural / platform limitation with direct impact on extension trust model.
Context
Found during post-0.4.11 security review. Related: Block E sandbox work, Marketplace 0.5.0.