Skip to content

K-brain v0.107.22

Choose a tag to compare

@github-actions github-actions released this 05 Nov 19:44
· 22 commits to main since this release
7db2a37

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 用于校验下载文件。

完整变更