Repository navigation
Replies: 1 comment
你这个
|
| 叶命令 | 结果 |
|---|---|
pwsh.exe(Win32 版 7.6.6,C:\Program Files\PowerShell\7) |
❌ 0xC0000142 |
cmd.exe |
❌ 0xC0000142 |
node.exe |
❌ 0xC0000142 |
python.exe(控制台子系统) |
❌ 0xC0000142 |
wscript.exe、pythonw.exe(GUI 子系统) |
✅ 0 |
上述任意一个,改 read-only 档 |
✅ 0 |
结论:凡是"控制台子系统"的程序在 workspace-write 下都起不来,跟里面跑的是 pwsh 还是别的无关;商店版不是原因(Win32 版同样死),所以卸载商店版 / 重装 MSI 都不会改变结果。
根因与已验证的一行修复、以及可复现的最小用例,我补充在 #9083 里了(那里是本问题的原始主帖):
一句话版本:packages/sandbox/sandbox-windows-acl/src/index.ts 里 setTokenDefaultDaclGrant(...) 在 workspace-write 下合并的是私有临时目录的能力 SID,而 read-only 合并的是保活组的 Everyone;实测把 workspace-write 也改为合并 Everyone 后,完整生产链恢复(target-exit 由 3221225794 变为 0)。建议两条帖合并跟踪,避免同一个根因分散。
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
环境
C:\Program Files\PowerShell\7\pwsh.exewhere.exe pwsh→C:\Program Files\PowerShell\7\pwsh.exepwsh --version→7.6.6(cmd 手动跑正常)workspace-write,工作区D:\Users\wujie\Documents\deepseek-harness\default-workspace,审批ask复现
工作区内修改 (workspace-write)Write-Output "pwsh-workspace-write-retest"; $PSVersionTable.PSVersion(no output) [exit code: 3221225794]3221225794 = 0xC0000135 STATUS_DLL_NOT_FOUND完全权限 (danger-full-access)跑同样命令 → 成功:pwsh-danger-retest,7 6 6,Path: ...\default-workspacepwsh --version→ 一直7.6.6期望
workspace-write应该只限制写出工作区,系统目录的读/执行必须放行(C:\Program Files\PowerShell\7\*.dll、System32),否则工作区内任何要起终端的构建/测试都跑不了。实际
workspace-write连子进程 DLL 加载都拦,pwsh 根本起不来,“工作区内修改代码”名存实亡。推测
文件沙箱作用到了子进程镜像加载,不只是写。商店版(WindowsApps)双层沙盒更严重,但 MSI 版同样失败,说明缺的是通用 allowlist。
附件
All reactions