桃子桃子快讯
返回首页
工具

Grith:为 AI 编程代理加上系统调用级安全护栏

开源工具 Grith 在系统调用层拦截 AI 编码代理的操作,按风险评分放行、队列审核或拒绝,并内置主流 AI IDE…

2026.08.28 · 周五4 分钟阅读

随着 Claude Code、Cursor、Aider 等 AI 编程代理逐步进入真实开发流程,「代理能跑什么、不能跑什么」正成为新的安全边界。开源工具 Grith 选择在操作系统最底层——系统调用(syscall)——架设一道拦截与评分层,对代理发出的每一次文件读取、Shell 命令、网络请求和进程派生做裁决。

工作机制:风险评分 + 三档裁决

Grith 不是简单的提示词过滤,而是在内核执行前对每条系统调用打分,依据阈值返回三种结果:

  • 风险分低于 3.0:直接放行,调用照常执行。
  • 风险分在 3.0 至 8.0 之间:进程挂起,进入审核队列,等待人工批准或拒绝。
  • 风险分超过 8.0:直接拒绝,调用永远不会发生。

官方强调「对存疑操作不做任何放行」,避免「先跑再说」式的默认信任。

内置 11 款主流工具的策略配置

工具内置了针对主流 AI 编程代理的策略文件,覆盖 claude-code、codex、aider、cursor、cline、copilot、goose 等。常规操作会自动放行,审核队列里只会剩下真正需要开发者留意的高风险调用,例如代理尝试把 .env 等敏感文件 POST 到外部主机时,会被 Grith 在内核边界拦截。

用户既可以用 grith exec -- 包裹已有的代理,也可以直接使用 grith run 跑自带代理,享受同一套过滤规则。

平台支持与安装方式

  • Linux x86_64:支持,内核 4.8 及以上。
  • Linux aarch64:支持,内核 5.3 及以上。
  • macOS(Apple Silicon / Intel):v2.0 路线,需 Endpoint Security 后端。
  • Windows x86_64:v2.0 路线,需 ETW 后端。

安装脚本会自动识别平台、校验 SHA-256 校验和,并把二进制放到 ~/.local/bin;可通过 --global 装到 /usr/local/bin,或用 --version 锁定版本。也可从 GitHub 仓库下载静态 musl 二进制,或使用 Rust 1.88+ 与 Node 22+ 从源码构建。

供应链安全与默认离线

每个发行版都附带 SHA-256 校验和、cosign 无密钥签名、签名过的 CycloneDX SBOM 以及 SLSA 构建来源证明,脚本会自动完成签名校验。

默认情况下,Grith 免费版完全离线运行:没有账号、没有遥测,审计日志写入本地 SQLite。付费层会每天校验一次许可证,并同步聚合后的统计数据(次数、裁决结果、风险归属等),但不包含命令内容、文件路径、提示词或负载。设置 general.audit_sync = false 可关闭同步;气隙部署则完全禁用许可证校验。

防御「权限逃逸」

自 v0.2.5 起,Grith 默认开启「监督逃逸」防护:一旦代理尝试通过 systemd-rundockertmux 等方式把任务转交给未经监督的子进程,相关调用会进入审核队列。非交互式会话无人审批时会直接失败(fail-safe)。如果 CI 脚本确实需要委派,可在对应配置中放行指定二进制,或将 supervisor.enforce_authority_delegating_spawn 设为 false

仓库代码采用 MPL-2.0 协议;Pro 与 Enterprise 能力内置在同一二进制中,通过签名许可证解锁,但托管计费、签发与云同步基础设施不在开源仓库内。

信源