Repository navigation
K-brain v0.107.22
K-brain v0.107.22
本版从 main 的 7db2a37 构建,在 v0.107.21 的基础上加入 Windows 离线沙箱(提升模式),并修复后台任务关闭时的竞争。
新功能
- Windows 离线沙箱与工作区隔离(#165):运行一次
kn sandbox setup(会弹出 Windows 管理员确认),之后 Windows 上的沙箱改为以专用的沙箱账户运行命令:- 断网运行可用:离线账户的所有网络流量(包括本机回环)都被防火墙规则拦截,
/v1/health的run_sandbox报告mechanism: "sandbox-user"、network_control: true; - 工作区隔离:权限只授予沙箱账户,不再把用过的工作区标为低完整性。其他低完整性程序不能再写这些目录,断网运行也写不了别的工作区;
- 命令在独立的桌面上运行,不能访问你的桌面和进程;
- 保护路径、凭据目录屏蔽、凭据环境变量过滤照常生效;
- setup 会创建两个隐藏的本地账户(不能远程登录、不在登录界面显示)、两个本地组和一组防火墙规则,密码用 DPAPI 加密保存。
kn sandbox status查看状态,kn sandbox uninstall全部移除; - 没有运行 setup 时,沿用 v0.107.21 的低完整性沙箱(仅联网),断网运行会拒绝执行并提示运行
kn sandbox setup; - 客户端可以调用
POST /v1/sandbox/setup发起设置(需要后端 token,会弹出 UAC),run_sandbox新增setup_available、setup_hint,capabilities.sandbox_setup为 1。
- 断网运行可用:离线账户的所有网络流量(包括本机回环)都被防火墙规则拦截,
- 已知限制:
- 联网运行仍可写之前沙箱运行用过的任何工作区(Windows 自带的 TLS 不支持受限令牌);
- 沙箱里的命令不能在会话中创建命名对象,Windows PowerShell 5.1 的
Invoke-WebRequest会报 “Error creating the Web Proxy”,改用curl.exe、PowerShell 7 即可; - 离线时仍能解析域名(DNS 由系统服务代为查询),但不能建立连接;
C:\ProgramData、C:\Users\Public这类所有用户都可写的目录,沙箱账户也可写。
修复
- 关闭后端时等待后台工作结束(#167):后端关闭时会先取消并等待后台子代理、唤醒派发和检查点写入完成,再关闭事件日志,不再在关闭后继续写文件。因关闭而中断的子代理在下次启动时显示为“已中断”。
- 后台 Bash 命令的退出只报告一次(#167):以前同一次退出可能既出现在 Bash 的结果里,又作为单独的退出通知再发一次。
- 修复了多个偶发失败的测试(#167,关闭 #132)。
下载与校验
提供 macOS、Linux、Windows 的 x64/ARM64 CLI 与 computer helper;SHA256SUMS 用于校验下载文件。