治理与安全策略

wescode 通过 wesgine 的治理系统控制 AI 的行为边界,保护你的系统安全。


治理模式

四种预设模式

模式对应设置Yellow Zone适用场景
编程模式open允许 + 审计日常编程(默认)
助手模式open允许 + 审计通用助手
锁定模式locked拒绝金融合规 / 展示
基准模式open允许评测基准

切换模式

在设置页 → 工具与配额 → 治理策略中选择。


三步治理管道

AI 每次执行操作时,经过三层检查:

Hardline → Sandbox → Zone

Hardline(灾难拦截)

永远拦截,不可覆盖:

类别示例
系统破坏rm -rf /、fork bomb
进程终止shutdown、kill engine
权限提升不当的 sudo 操作

共 18 条正则规则,对所有工具的 command / cmd / script / shell 字段生效。

Sandbox(数据边界)

控制 AI 可以访问的路径和网络:

设置效果
DenyPaths禁止读写的路径列表
WorkDir 限制写入限制在工作区范围
NetworkPolicy控制网络访问(allow/deny/internal_only)

网络命令检测

当 NetworkPolicy=deny 时,以下命令被拦截:

curl / wget / nc / ncat / netcat / ssh / scp / sftp / rsync

检测基于命令位置(行首 / 分隔符后),不会误杀 grep -r curl . 这样的搜索。

Zone(效果分类)

Zone默认行为说明
Green允许读取操作
Yellow按模式决策写入操作
Red条件允许delegate_task 等

路径安全

DenyPaths

默认被保护的路径:

DenyPaths:
  - hypervisor.db          # 引擎注册表
  - config.yaml            # 用户配置

EnginePaths

引擎自动计算的安全路径(不需要手动配置):

写入限制

所有 AI 写操作必须落入:

  1. ArtifactDir(持久产出)
  2. HostPaths(工作区路径)

禁止写入 /tmp、Cell 外路径等。


exec 安全

三分类路由

分类实现用户可见
检索Go os/exec不可见
验证Go os/exec + mirrorSession只读终端
交互VSCode 集成终端用户终端

进程安全

环境隔离

exec 子进程的环境变量经过两层清理:

  1. 静态模式表:移除已知敏感变量
  2. SecretRef{source:env} 登记:精确移除用户配置的密钥变量

循环检测

CycleDetector

检测 AI 是否陷入死循环(完全相同的操作 + 完全相同的结果):

类型警告阈值终止阈值
探索类工具50100
操作类工具2550
完全相同调用47

两阶段终止

  1. 自愈:首次触发 → 注入纠正消息 → 重置计数器
  2. HITL:再次触发 → 询问用户 → 60s 超时自动终止

工具特定阈值

工具警告终止
exec3060
exec:readonly50100
edit3060
write3060
plan1530

ErrorStreakDetector

伪进展检测

当 AI 持续产生错误但看起来在工作时:


API Key 安全

SecretRef 三源

源说明
inlineAES-256-GCM 加密存储
env环境变量引用
live运行时动态获取

inline 加密

API Key 明文
  → AES-256-GCM 加密
  → 写入 hypervisor.db
  → 密钥在 {DataDir}/secrets/spec.key (0600)

拷走数据库不带 key 文件 → 所有 Provider 失效。


配额管理

计算配额

配额说明
MaxConcurrentRuns同时运行的 Run 数
TokensPerMinute每分钟 Token 限制
TokensPerDay每日 Token 限制

外设配额

配额说明
MaxIMChannelsIM 渠道数
MaxMCPServersMCP 服务器数
MaxCronJobs定时任务数
MaxSkillsInstalled已安装技能数

超限行为


最佳实践

日常开发

使用默认的编程模式即可,它提供:

高安全场景

切换到锁定模式:

自定义治理

可以单独调整: