CellSpec 网络策略(NetworkPolicy)
wesgine 的 CellSpec.Governance.NetworkPolicy 控制 Cell 内 exec 工具的出网行为。
策略值
| NetworkPolicy | exec 出网 | 适用场景 |
|---|---|---|
allow | 允许所有网络访问 | 编程/通用助手(默认) |
internal_only | 仅允许内网访问 | 企业部署、金融合规 |
deny | 禁止所有网络访问 | 展示/demo/只读 |
网络命令检测(INV-GOV-02)
当 NetworkPolicy 为 deny 或 internal_only 时,Sandbox 层的 checkExecNetwork() 会检测 exec 命令中的网络工具:
检测的命令:
curl / wget / nc / ncat / netcat / ssh / scp / sftp / rsync
检测位置:
- 行首
;/|/&分隔符后- 引号与
$()子 shell 内 sudo/env等 wrapper 后- 可选路径前缀后(如
/usr/bin/curl)
不误杀:参数位置的同名词(如 grep -r curl .)不会被拦截。
与 Compliance 的关系
ComplianceClass 通过预设自动映射 NetworkPolicy:
| Compliance | NetworkPolicy |
|---|---|
standard | allow |
financial | internal_only |
pii-strict | internal_only |
healthcare | internal_only |
但 NetworkPolicy 也可在 CellSpec.Governance 中独立声明,不依赖 Compliance。
运行时更新
NetworkPolicy 是 GovernMode 的组成部分,可通过以下方式热更新:
PUT /cells/{id}/config/governance
{
"govern_mode": "locked",
"network_policy": "deny"
}
相关文档
- 治理管线 →
governance-pipeline.md - 治理预设 →
governance-presets.md - Exec 安全模型 →
exec-security.md