⚠️ 状态:提案 / 路线图本文档描述提议的实现方法,可能包含假设的命令或配置。 如需了解当前运行时行为,请参见 config-reference.zh-CN.md、operations-runbook.zh-CN.md 和 troubleshooting.zh-CN.md。
ZeroClaw 已经具备出色的应用层安全:
✅ 命令白名单(而非黑名单)
✅ 路径遍历保护
✅ 命令注入阻止($(...)、反引号、&&、>)
✅ 密钥隔离(API 密钥不会泄露到 shell)
✅ 速率限制(每小时 20 个操作)
✅ 渠道授权(空 = 拒绝所有,* = 允许所有)
✅ 风险分类(低/中/高)
✅ 环境变量清理
✅ 禁止路径阻止
✅ 全面的测试覆盖(1,017 个测试)
🔴 无操作系统级沙箱(chroot、容器、命名空间) 🔴 无资源限制(CPU、内存、磁盘 I/O 上限) 🔴 无防篡改审计日志 🔴 无系统调用过滤(seccomp)
| 功能 | PicoClaw | 当前 ZeroClaw | 路线图实现后的 ZeroClaw | 生产目标 |
|---|---|---|---|---|
| 二进制大小 | ~8MB | 3.4MB ✅ | 3.5-4MB | < 5MB |
| RAM 占用 | < 10MB | < 5MB ✅ | < 10MB | < 20MB |
| 启动时间 | < 1s | < 10ms ✅ | < 50ms | < 100ms |
| 命令白名单 | 未知 | ✅ 是 | ✅ 是 | ✅ 是 |
| 路径阻止 | 未知 | ✅ 是 | ✅ 是 | ✅ 是 |
| 注入保护 | 未知 | ✅ 是 | ✅ 是 | ✅ 是 |
| 操作系统沙箱 | 无 | ❌ 无 | ✅ Firejail/Landlock | ✅ 容器/命名空间 |
| 资源限制 | 无 | ❌ 无 | ✅ cgroups/监控 | ✅ 完整 cgroups |
| 审计日志 | 无 | ❌ 无 | ✅ HMAC 签名 | ✅ SIEM 集成 |
| 安全评分 | C | B+ | A- | A+ |
目标: 以最小复杂度解决关键缺口
| 任务 | 文件 | 工作量 | 影响 |
|---|---|---|---|
| Landlock 文件系统沙箱 | src/security/landlock.rs |
2 天 | 高 |
| 内存监控 + OOM 终止 | src/resources/memory.rs |
1 天 | 高 |
| 每个命令的 CPU 超时 | src/tools/shell.rs |
1 天 | 高 |
| 基础审计日志 | src/security/audit.rs |
2 天 | 中 |
| 配置模式更新 | src/config/schema.rs |
1 天 | - |
交付成果:
- Linux:文件系统访问限制在工作区范围内
- 所有平台:防止命令失控的内存/CPU 防护
- 所有平台:防篡改审计追踪
目标: 深度操作系统集成,实现生产级隔离
| 任务 | 工作量 | 影响 |
|---|---|---|
| Firejail 自动检测 + 包装 | 3 天 | 极高 |
| 适用于 macOS/*nix 的 Bubblewrap 包装 | 4 天 | 极高 |
| cgroups v2 systemd 集成 | 3 天 | 高 |
| seccomp 系统调用过滤 | 5 天 | 高 |
| 审计日志查询 CLI | 2 天 | 中 |
交付成果:
- Linux:通过 Firejail 实现完整类容器隔离
- macOS:Bubblewrap 文件系统隔离
- Linux:cgroups 资源强制执行
- Linux:系统调用白名单
目标: 企业级安全功能
| 任务 | 工作量 | 影响 |
|---|---|---|
| Docker 沙箱模式选项 | 3 天 | 高 |
| 渠道的证书固定 | 2 天 | 中 |
| 签名配置验证 | 2 天 | 中 |
| 兼容 SIEM 的审计导出 | 2 天 | 中 |
安全自检(zeroclaw audit --check) |
1 天 | 低 |
交付成果:
- 可选的基于 Docker 的执行隔离
- 渠道 webhook 的 HTTPS 证书固定
- 配置文件签名验证
- 用于外部分析的 JSON/CSV 审计导出
[security]
level = \"strict\" # relaxed | default | strict | paranoid
# 沙箱配置
[security.sandbox]
enabled = true
backend = \"auto\" # auto | firejail | bubblewrap | landlock | docker | none
# 资源限制
[resources]
max_memory_mb = 512
max_memory_per_command_mb = 128
max_cpu_percent = 50
max_cpu_time_seconds = 60
max_subprocesses = 10
# 审计日志
[security.audit]
enabled = true
log_path = \"~/.config/zeroclaw/audit.log\"
sign_events = true
max_size_mb = 100
# 自治(现有,增强)
[autonomy]
level = \"supervised\" # readonly | supervised | full
allowed_commands = [\"git\", \"ls\", \"cat\", \"grep\", \"find\"]
forbidden_paths = [\"/etc\", \"/root\", \"~/.ssh\"]
require_approval_for_medium_risk = true
block_high_risk_commands = true
max_actions_per_hour = 20# 安全状态检查
zeroclaw security --check
# → ✓ Sandbox: Firejail active
# → ✓ Audit logging enabled (42 events today)
# → → Resource limits: 512MB mem, 50% CPU
# 审计日志查询
zeroclaw audit --user @alice --since 24h
zeroclaw audit --risk high --violations-only
zeroclaw audit --verify-signatures
# 沙箱测试
zeroclaw sandbox --test
# → Testing isolation...
# ✓ Cannot read /etc/passwd
# ✓ Cannot access ~/.ssh
# ✓ Can read /workspaceZeroClaw 已经比 PicoClaw 更安全,具备:
- 小 50% 的二进制文件(3.4MB vs 8MB)
- 少 50% 的 RAM 占用(< 5MB vs < 10MB)
- 快 100 倍的启动速度(< 10ms vs < 1s)
- 全面的安全策略引擎
- 广泛的测试覆盖
通过实现本路线图,ZeroClaw 将成为:
- 具备操作系统级沙箱的生产级产品
- 具备内存/CPU 防护的资源感知系统
- 具备防篡改日志的审计就绪系统
- 具备可配置安全级别的企业级产品
预计工作量: 完整实现需要 4-7 周 价值: 将 ZeroClaw 从「适合测试」转变为「适合生产」