Repository navigation
环境
现象一句话沙箱执行环境内,一切依赖 Windows 原生 TLS(Schannel/SSPI)的 HTTPS 客户端在 复现沙箱内(经 ACL runner 受限令牌): curl.exe -sS -o NUL -w "http_code=%{http_code}`n" https://www.baidu.com/
# http_code=000, exit 35
# schannel: AcquireCredentialsHandle failed: SEC_E_NO_CREDENTIALS (0x8009030e)
curl.exe -sS http://example.com/ # exit 0 —— 网络与代理通路正常用户会话(同一 exe、同一 URL):200。 对照矩阵
全程无任何 sandbox 裁决输出——不是文件策略拒绝,是令牌形态本身。 根因指认(已实证)
实证(whoami /groups):
已知边界:AppContainer(同为受限令牌+Low IL)是可以用 Schannel 的,所以致命成分到底是 Low IL、restricting SID 列表、还是特权剥离,可能需要判别实验(「仅 WRITE_RESTRICTED 不降 IL」vs「仅降 IL」对照测 AcquireCredentialsHandle)。 建议/想问的
我们的过渡(供同样踩到的人)沙箱内取 HTTPS 数据一律走 OpenSSL 栈:捆绑 Python(urllib/requests,已验证)或 Node;免限重跑拿正常令牌后原生 TLS 即通。 |
Replies: 4 comments 2 replies
|
这个discussion会被官方看到吗? |
|
继续up |
|
这个问题已经有人报过三次了,而且其中一次已经被回复过。建议先看那三条,别当新问题提。 三次前科
你的事实基本对,但有一处指认错了
abi.DISABLE_MAX_PRIVILEGE | abi.LUA_TOKEN | abi.WRITE_RESTRICTED // 0x1 | 0x4 | 0x8 = 13你写的数值 13 是对的,但你把 这个错认有连带影响:你据此把"LUA 标记"读成了"沙箱惰性位",然后把它列进"致命成分"的候选清单。清单本身要先改掉。 你另外三组令牌事实都对,我逐条核了:
不过有一点要说清:上面那个是 restricting list(只用于交叉校验写访问),和令牌自身的组成员表是两回事。你把两者混在一起讲了,维护者大概率会先纠正这一点。 "去掉 Low IL 就能修"这条我建议不要写死
你提的判别实验(只保留 ⭐ 真正站得住的诉求是文档缺口,而且可以量化这一条我建议你作为主诉求,因为它客观、可核实、不依赖归因:
⇒ 所以你的文档矛盾指控成立且证据充分:README 一边说网络不受限、一边记着 CNG 对某个组有依赖,而完整的边界没有列出来。 建议诉求:在 一点方法论建议你这份报告的对照矩阵做得很好(这大概也是 另外你帖子里说"想问的"这种措辞,如果改成"已知 边界我核的是
|
|
感谢逐条核对,两处指正都认领: 1. flag 语义认错: 2. 两张表混讲:restricting list 只作用于写访问交叉校验;真正让 「去掉 Low IL 就能修」同意降级为最弱假设—— 前案互链:#3207、#4163、#2850(本帖主诉求从「确认是否已知限制」撤回——是已知限制,且 #4163 的回复已给绕行方案)。 调整后的主诉求是文档缺口,可核实、不依赖归因:
给后来者的快速判别签名(沙箱内四连测):curl/PowerShell HTTPS 失败且错误含 |
这个问题已经有人报过三次了,而且其中一次已经被回复过。建议先看那三条,别当新问题提。
三次前科
#3207(2026-08-18)、#4163(2026-08-23)、#2850,标题里都带SEC_E_NO_CREDENTIALS,全部没有选中答案。其中#4163已经有一条回复,结论是:目前没有解法,让 agent 临时换后端(写进 skill 或agent.md用 OpenSSL 栈)绕过去。#4163的正文和你的对照矩阵几乎是同一个形状。所以你的诉求方向(确认是不是已知限制)**答案是"是",而且已经有人问过"。你的事实基本对,但有一处指认错了
token.ts:232那次调用的 flags 是:你写的数值 13 是对的,但你把
0x4认成了SANDBOX_INERT—— 它实际是LUA_TOKEN(受限用户标记)。SANDBOX_INERT在 DSH 仓库里 0 命中(我换了几组 pattern 查过),而且那个位真值是0x10,不是0x4。这个错认有连带影响:你据此把"LUA 标记"读成了"沙箱惰性位",然后把它列进"致命成分"的候选清单。清单本身要先改掉。
你另外三组令牌事实都对,我逐条核了:
token.ts:184-185的限制列表按模式分(read-only: [logon SID, EVERYONE];workspace-write: …