核心功能
gog-safety 是一套针对 gogcli 工具的编译时安全加固方案,通过 PR #366 提供的安全配置文件功能,在构建阶段即删除指定命令的源代码,生成权限受限的二进制文件。不同于运行时权限检查,被移除的命令在二进制中完全不存在,从根本上杜绝了绕过可能。
三级安全模型
| 级别 | 权限范围 | 典型场景 |
|:---|:---|:---|
| **L1** | 仅草稿、收件箱整理 | 邮件分类、自动草稿生成 |
| **L2** | L1 + 评论、RSVP、协作 | 协同文档处理、会议响应 |
| **L3** | 完整写入(无危险管理操作) | 常规邮件发送、日常办公 |
显著优点
1. 编译时保证:命令移除发生在源码生成阶段,非配置文件过滤,安全性高于运行时检查
2. 跨平台构建支持(含 ARM64/AWS Graviton)
3. 自动化部署与回滚机制,含版本验证和命令可用性测试
4. 自定义 YAML 配置,可扩展新场景
局限性与风险
- L1/L2 已知边缘情况:邮件过滤器自动转发、Drive 静默共享可能产生非预期的信息外泄(文档已标记为可接受风险)
- 依赖特定 PR #366 分支,需跟踪上游合并进度
- 安全边界为命令级粗粒度,非数据级细粒度控制
- 需 Go 1.22+ 环境,首次构建需克隆仓库约 30 秒
适用人群
- 为 AI Agent 配置最小权限执行环境的 DevOps/SRE
- 需要隔离高危操作(如自动发邮件)与只读/草稿操作的安全团队
- 在多租户或不可信代码执行场景下部署 gogcli 的平台工程师
风险等级
整体为低风险可控方案,但需注意:
- 边缘情况(过滤器转发、Drive 共享)在 L1/L2 仍可能泄露信息
- 建议生产环境启用
--verify部署验证,定期审计实际执行的命令集