[Bug] Windows: after upgrading to 0.1.7-rc.1 every shell command fails at the ACL grant with SetNamedSecurityInfoW failed (Win32 5): grantWrite(<workspace>) / 升级到 0.1.7 后所有 shell 命令在沙箱授权阶段立即失败(粘性,需手工修 ACL)
#7646
Replies: 2 comments
|
Your function-level analysis matches the released code, and one detail in it is worth making sharper: the failure is not only sticky by symptom, it is re-derived from scratch on every command. Confirming the root cause at
|

Uh oh!
There was an error while loading. Please reload this page.
中文摘要:0.1.5-rc.2 → 0.1.7-rc.1 升级后,所有沙箱命令(含空命令)在启动阶段即失败并报
SetNamedSecurityInfoW failed (Win32 5): grantWrite(D:\ws)。文件读写工具仍可用,且该故障粘性——不手工修工作区根目录 ACL 就每条命令都失败。已定位到函数级原因(新版权限授予把 DACL 与完整性标签合并成一次调用,写标签需要WRITE_OWNER,而该目录没有使用者本人的显式 ACE),一条icacls可修复。Summary
After upgrading
@deepseek-ai/dsh0.1.5-rc.2 → 0.1.7-rc.1 on Windows, every sandboxed command fails before execution — including an empty one:Win32 5isERROR_ACCESS_DENIED. File read/write tools keep working; only the sandboxed shell is dead, and the failure is sticky: it repeats for every subsequent command until the workspace root's ACL is repaired by hand. Nothing in the upgrade output hints at an ACL prerequisite.Environment
@deepseek-ai/dsh0.1.5-rc.2 → 0.1.7-rc.1 (explicit version,npm i -g){"preset":"workspace-write","sandbox":"workspace-write","approval":"ask"}D:\ws: owned by the invoking user, but its DACL names no explicit ACE for that user — effective access comes fromAuthenticated Users: Modifyplus inherited defaults. Token is a standard UAC-filtered one (BUILTIN\Administratorspresent as deny-only).Steps to reproduce
probe.Root cause
@deepseek-ai/dsh-sandbox-windows-aclchanged substantially between the two versions:All reactions