安全模型
Zava 假设输入、网络、持久文件、技能字节码和其他实例都可能恶意。安全默认值不是 建议,而是 Runtime 的拒绝条件。
信任边界
| 边界 | 主要威胁 | 强制控制 |
|---|---|---|
| CLI | 参数注入、超长输入 | 固定参数表、长度/字符检查、无 shell |
| 文件 | 遍历、符号链接、竞态 | 根目录、规范化、NOFOLLOW、fd 表 |
| DNS/TCP | 欺骗、SSRF、耗尽 | ID 校验、白名单、端口策略、16 槽 |
| HTTP/WS | Slowloris、畸形帧 | 超时、64 KiB、精确路由、mask |
| 技能 | 恶意字节码、优先级篡改 | opcode 白名单、边界评估、CRC |
| 通信 | UUID 伪造、CRC 绕过 | 来源校验、大小限制、CAS/代际 |
| Windows | SOCKET/HANDLE 混用 | 分表登记、统一 close、路径转换检查 |
文件权限
- Linux 数据目录必须为
0700。 - 身份、技能、审计和共享内存必须为
0600。 - 禁止把真实数据目录用于测试或 fuzz。
- 路径含 NUL、
..逃逸、绝对系统目录或符号链接时必须拒绝。
网络
Runtime 不实现 TLS。对公网开放时必须使用前置 TLS 代理、请求大小限制、连接超时和
速率限制。禁止把 --http-host 0.0.0.0 当作默认配置。
自修改与动态 opcode
动态 opcode 只有在 ENABLE_DYNAMIC 开启后才可执行;注册器必须验证指令边界、跳转
目标、长度和保留范围。0x93..0x9D 永久保留给 Runtime adapter。
报告问题
不要在公开 Issue 粘贴身份 UUID、数据目录、审计日志或崩溃内存。先提供版本、平台、 最小复现和已脱敏的错误码,再通过仓库维护者指定的私密渠道提交敏感附件。