安全与信任边界
ash 是本地执行边界,不声称为所有子进程提供跨平台网络或系统调用沙箱。可信 Harness 负责策略和批准,ash 负责执行其能够一致强制的协议、资源、路径、事务与更新约束。
能力协商
会话握手计算客户端请求与服务端实现的能力交集。请求操作必须包含在协商掩码中;未知 操作位和当前协议 minor 版本不支持的能力不会被静默接受。
一次性 Permit
需要批准的规范动作产生 Challenge。Permit 使用域分离签名,并绑定:
- 会话 ID 与请求 ID;
- 操作、规范参数和能力;
- 策略指纹与过期时间;
- 一次性 nonce。
成功消费后立即记录,重放失败。参数、会话、策略或有效期任一变化也会失败。
工作区与文件事务
- 逻辑路径规范化并限制在工作区内。
- 补丁通过 preimage SHA-256 实现 compare-and-swap。
- create/copy/move/remove 组成有界文件事务。
- 事务日志带校验和,并在跨进程锁内持久化。
- 冲突或崩溃按反向动作回滚;启动恢复拒绝无法证明的外部变化。
进程生命周期
命令通过 argv 直接启动。超时、显式取消、会话关闭和句柄 Drop 都终止拥有的进程树。 这不意味着任意程序的网络、注册表或系统调用已经被通用沙箱隔离。
更新信任
更新器要求 Ed25519 签名的规范 Manifest、单调序列、目标匹配、包 SHA-256、精确归档 形状和嵌入二进制身份。激活后必须通过健康检查;失败时恢复上一版本。降级只有在签名 Rollback 声明允许时成立。
安全问题请按仓库 SECURITY.md 私下报告。