近日,多位 Windows 用户反馈,在安装 2025 年 4 月累积更新(KB5055518)后,运行知名代码生成工具 Codex 的沙箱功能时频繁弹出错误提示,导致沙箱环境无法正常启动。经初步排查,该报错指向了 Windows 系统受保护文件夹 WindowsApps 的权限异常,涉及微软 Store 应用的底层文件访问机制。记者深入采访了受影响用户、技术专家及微软社区论坛,整理出本次问题的详细排查过程。
问题现象:沙箱报错突发,用户工作流中断
“更新后第一次打开 Codex 沙箱,直接弹出‘无法初始化沙箱环境,文件访问被拒绝’的窗口,后面跟了一个路径 C:\Program Files\WindowsApps\...”,开发工程师张先生向记者描述了自己的遭遇。张先生长期使用 Codex 的沙箱功能进行代码隔离测试,自动更新前一切正常。更新后,他尝试了重启、重新安装 Codex 等常规操作,均无法解决问题。类似反馈在微软社区、Reddit 及 GitHub 相关议题中迅速增多,受影响的用户涵盖 Windows 11 22H2 和 23H2 两个主要版本。
记者实测发现,错误日志中主要记录了两类异常:一是 ACCESS_DENIED 错误,指向 WindowsApps 目录下的某个特定 DLL 或 EXE 文件;二是 ERROR_SHARING_VIOLATION,表明文件被另一进程锁定。值得注意的是,Codex 沙箱在启动时会调用 Windows 虚拟化组件,而这些组件需要访问 Store 应用的基本库文件,该访问路径恰位于 WindowsApps 之下。
排查过程:由表面到内核的层层拆解
技术安全研究员李伟(化名)在社群中分享了他的排查思路。他首先使用 Process Monitor 捕捉沙箱启动时的文件操作,发现 Codex 进程尝试读取 WindowsApps 下的 Microsoft.VCLibs.x64.14.00.appx 时被拒绝,随后沙箱进程崩溃。进一步检查该文件的 NTFS 权限,发现更新后系统将 WindowsApps 文件夹的“Everyone”组读取权限调整为“仅允许 SYSTEM 和 Administrators”,而 Codex 沙箱进程通常以普通用户权限运行,因此无法访问。
“这实际上是 Windows 安全更新的一部分——微软为了加固 Store 应用隔离性,收紧了 WindowsApps 的默认访问控制列表(DACL)。”李伟解释。但 Codex 沙箱在设计上依赖该路径的读取权限,更新后未同步调整自身调用逻辑,导致了兼容性冲突。另一条线索来自事件查看器:部分用户记录到 AppModel 错误代码 0x80070005(访问被拒绝),进一步印证了权限问题。
临时解决方案:手动调整权限与修复性重装
微软官方目前尚未针对此问题发布补丁,但在社区中,有用户提供了两种经过验证的临时方案。其一,以管理员身份打开 PowerShell,执行 Get-AppxPackage *VCLibs* | Add-AppxPackage -Register "AppxManifest.xml",重新注册公共运行时库,有时能自动恢复文件权限。其二,更为直接的方案是手动添加 Codex 沙箱进程对 WindowsApps 的读取权限:右键 C:\Program Files\WindowsApps → 属性 → 安全 → 编辑,添加 Users 组的“读取和执行”权限,并应用到子文件夹。但需注意,手动修改可能降低系统安全基线,建议仅在测试环境中使用。
记者联系到 Codex 开发团队发言人,对方表示已关注到该问题,正在测试更新以适配新版 Windows 的安全策略。“我们计划在下周发布 3.0.8 版本,将沙箱的依赖库移至用户目录或 AppData,避免直接触及 WindowsApps。”发言人补充道。
专家建议:关注安全更新与软件依赖的平衡
本次事件并非孤例。2023 年微软也曾因更新导致 Adobe 软件无法访问字体文件,本质同样是 WindowsApps 权限收紧。网络安全专家陈教授指出,操作系统安全更新与第三方软件的“遗留依赖”之间的矛盾会持续存在。他建议开发者尽快采用基于 WinRT 的标准 API 替代直接文件访问,并使用 IsAppContainer 检查环境;普通用户则应开启“可选更新”查看器,在安装非安全更新前浏览社区反馈,避免首次更新带来的兼容风险。
截至发稿,微软技术社区已将此事标记为“正在调查”,预计将在未来补丁中增加兼容性逻辑。受影响的用户可暂时通过上述临时方案恢复 Codex 沙箱使用,同时密切关注官方更新通知。