SuperAPI AI 工具集

gog-safety

安全与审计

查看项目

更新于 10-16 05:45

技能介绍

用途:为权限受限的 AI 智能体准备 gog 命令行工具,通过编译期命令移除来限制其可执行的操作。被禁用的命令不会出现在二进制中,因此不存在运行时绕过。

主要能力:提供 L1、L2、L3 三个安全等级。L1 适用于邮件分诊、起草和收件箱整理,不能发送邮件或聊天;L2 在 L1 基础上增加评论、RSVP 和协作,仍不能发送;L3 具备完整写入权限,但不含危险的管理操作。等级细节见 references/levels.md。

使用方式:构建当前平台二进制运行 ./scripts/build-gog-safe.sh L1;交叉编译 Linux ARM64 使用 ./scripts/build-gog-safe.sh L1 --arch arm64 --os linux;自定义输出用 --output。依赖 Go 1.22+ 和 git,首次运行会克隆 PR #366 分支(约 30 秒)。部署到远程主机:./scripts/deploy-gog-safe.sh spock /tmp/gogcli-safety-build/bin/gog-l1-safe,加 --verify 可验证被禁命令已移除且允许命令可用。部署脚本会先备份原 gog 为 gog-backup,再安装新二进制并校验版本。回滚命令:ssh <host> 'sudo mv /usr/local/bin/gog-backup /usr/local/bin/gog'。

实现原理:使用 gogcli 的编译期安全配置功能(steipete/gogcli 的 PR #366)。YAML 文件用 true/false 指定命令启用或移除,构建系统只生成启用命令的 Go 源码再编译,产物版本带 -safe 后缀。references/ 中提供 l1-draft.yaml、l2-collaborate.yaml、l3-standard.yaml,可复制后修改 true/false 传入构建脚本。

验证:部署后可用 ssh <host> "gog --version" 确认 -safe 后缀,用 gog gmail send --help 确认被禁,用 gog gmail drafts create --help 确认可用。

已知边界情况:L1 及以上允许 gmail settings filters create 以整理收件箱,但带转发动作的过滤器可能自动转发邮件,v1 接受该风险;L1 及以上允许 drive share,因为共享不会发送通知邮件,被共享者只在“Shared with me”中看到。