Skip to content

security(worker): use explicit environment allowlists and isolation profiles #867

Description

@hrygo

设计状态

  • 路线归属:Stage 1 — Runtime Contract。
  • 设计状态:已冻结。
  • Issue 状态:open;实现尚未完成。
  • 当前 internal/worker/base/BuildEnv 仍以 host environment 为基础执行 blocklist/prefix filtering,并支持显式 HOTPLEX_WORKER_* 注入;该行为不是 strict allowlist,也不等同于 OS isolation。

权威文档

  • docs/v2/ROADMAP.md
  • docs/v2/IMPLEMENTATION-ROADMAP.md
  • docs/v2/ARCHITECTURE.md
  • docs/superpowers/specs/2026-08-04-runtime-operations-contract.md

范围

  • compatstrict env profile,以及 read-only、workspace、trusted named isolation profile。
  • strict profile 的最小 base allowlist、显式 worker injection 和 session/config overrides。
  • compat profile 的迁移告警、诊断和移除条件。
  • 四类 Worker 的统一 isolation capability report。
  • filesystem、network、credential injection、env profile 使用 declaredobservedenforcedpartialunavailable
  • EffectiveRuntimePlan 是 doctor、worker start、admin diagnostics 和 recipe dry-run 的唯一解析上游。

完成标准

  • strict mode 不继承未知 host environment variables。
  • PATH、HOME、locale、temp 和各 Worker 必需变量在 Linux、macOS、Windows 上有测试。
  • 显式 worker secret precedence 确定且不记录值。
  • 每个 Worker 如实报告 filesystem/network restriction 的实际 enforcement。
  • compat mode 具备迁移文档、运行时告警和移除条件。
  • 无法证明的能力输出 partialunavailable,不宣称 OS isolation。

依赖

#946 EffectiveRuntimePlan;#849 runtime events。

非目标

不实现 container orchestrator、首版 credential broker、形式化 non-interference 或 backend 无法支撑的强隔离保证。

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureDomain: design patterns, coupling, separation of concernsruntimesecuritySecurity: vulnerabilities, hardening, compliance

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions