Grith 正式发布——在操作系统层面为 AI 编程代理加一道安全边界

HN AI Best Practices 2026-08-29T06:25:00.345160

摘要:Grith 是一款运行在操作系统层面的安全代理,专门守护 AI 编程代理。它通过拦截系统调用、用确定性规则打分,把“允许 / 排队 / 拒绝”的决定权从 AI 模型手中拿回来,避免代理被提示注入或恶意文件操纵。目前 0.3.2 版本已发布,支持 Linux x86_64 与 arm64,安全核心完全免费开源。

为什么需要这道安全边界?

AI 编程代理在执行操作前会先请求权限。但大多数开发者最终都会打开自动批准(auto-approve)模式——毕竟每小时手动审查几十条权限提示,根本算不上正常的工作流。

可一旦开启自动批准,代理实际上就是在自己批准自己的行为。而做决定的,依然是同一个概率模型。这个模型完全可能被一份恶意 README 或一次精心设计的提示注入(prompt injection)牵着走。

Grith 的立场不同:安全决策的做出者,不应该与被保护对象是同一个本体。它跑在操作系统层面,独立于 AI 代理之外,充当一道真正的安全边界。

Grith 的工作方式

Grith 是一个操作系统层级的监督程序。在 Linux 上,它使用 ptrace 配合 seccomp-BPF 预过滤器,拦截与安全相关的系统调用——包括文件访问、进程执行和网络操作。通俗地说,就是所有敏感操作在到达系统之前,都得先过它这一关。

拦截之后,Grith 用 18 个过滤器分三个阶段打分:

  1. 静态检查:查看调用本身的属性。
  2. 模式匹配:用 1,618 条规则做密钥扫描、检查出站策略、检测破坏性操作。
  3. 上下文过滤器:包括污点跟踪(taint tracking),追踪数据是否来自不可信来源。

这个匹配层是确定性的,整个执行链路里没有大语言模型(LLM)参与,因此评分结果可预期、可复现。

最终有三种裁决,界限清晰:

没有模糊地带,而且打分中位时间只要 0.02 毫秒,日常那些不需要审查的调用几乎感觉不到额外开销。

快速上手

安装很简单:

curl -fsSL https://grith.ai/install | sh

然后把你正在用的工具包起来:

grith exec -- claude-code "fix the bug"

Grith 预置了 claude-codecodexaidergoosecline 等工具的配置文件,会自动放行这些工具的日常操作。这样一来,队列里只会出现真正值得人工关注的调用。

另外还内置了一个代理模式:

grith run "fix the tests"

这个命令可以让任何兼容 OpenAI 接口的 API 或本地 Ollama 模型走同一套流水线——同样的过滤器、同样的阈值、同样的审计日志。也就是说,即使你换一个前端工具,安全策略依然保持一致。

近期版本更新

Grith 最近几个版本主要在堵自己的逃逸路径,同时拓宽运行环境:

需要说明的是,Grith 能识别已知的委托路径,包括常见的控制套接字和委托型二进制文件,但它并不声称能替代虚拟机或容器来运行完全不可信的代码。

关键要点

摘要:Grith 是一款面向 AI 编程代理的安全代理,在操作系统层面拦截文件读取、命令执行与网络请求,通过策略引擎实时评分并阻断危险操作。目前支持 Linux,安全核心永久免费并开源;macOS 与 Windows 支持计划在 v2.0 落地。

免费与开源

Grith 的安全核心对所有人免费开放,具体包括:代理本体、全部 18 个过滤器、监督器、隔离摘要、本地 SQLite 审计日志、命令行工具,以及运行在 localhost:3141 的仪表盘。整个免费层不需要注册账号、不联网、完全离线运行,模型密钥由用户自行提供。

免费层的限制在于并发监督会话数——最多同时 2 个,过滤器本身没有数量或次数限制。

代码仓库采用 MPL-2.0 许可证公开。付费层通过签名许可证解锁团队功能,包括:共享策略与配置、提供商密钥同步、团队分析,以及可验证的每日归档。

发布版本附带完整的供应链安全配套:cosign 无密钥签名、SLSA 供应链溯源、CycloneDX SBOM 和 SHA-256 校验和。二进制采用静态 musl 构建,也支持用户自行编译。

支持范围

目前 Grith 仅支持 Linux,具体覆盖两类架构:

这意味着 Graviton、Ampere 实例、arm64 VPS,以及运行 64 位操作系统的树莓派 4/5 都在支持范围内。macOS(通过 Endpoint Security 框架)和 Windows(通过 ETW)的支持计划在 v2.0 中实现。安装脚本在遇到不支持的平台时会明确报错退出,而不是勉强装上后留下隐患。

为什么需要这一层安全防护

Grith 团队表示,这个产品并非凭空构想,而是源于实际观察。

他们在相同任务下用 strace 分别跟踪 Claude Code 和 Codex 的系统调用,发现 Claude Code 在一次基准测试中尝试读取了 752 次 /proc/*/environ 文件(方法学和脚本均已公开)。在后续自用测试中,Grith 还冻结了一个 Codex 会话——该会话在一次例行任务中开始扫描磁盘寻找凭据。

这些行为并非出于恶意,而是因为当前的 AI 代理会自然地把整台机器当作可用资源来使用。而在此之前,没有任何一层机制在它们和系统之间设立边界。

邀请社区参与改进

Grith 团队明确欢迎开发者对它进行压力测试:队列阈值、策略配置、尚未被发现的逃逸方式——都可以直接提交 issue,或在其官方渠道下反馈。如果你需要 macOS 支持,团队有一个置顶 issue 专门登记需求,用真实反馈来排定优先级。

关于 Grith

Grith 是一个面向 AI 编程代理的安全代理。它在操作系统层面拦截每一次文件读取、shell 命令和网络请求,通过多过滤器策略引擎为每个操作进行风险评分,并在危险操作真正执行前将其阻断。

每一次决策都会被记录为结构化审计日志——团队可以完整回溯自己的代理在做什么,这套日志同样为合规报告而设计。

关键要点

在当前 AI 编程工具快速普及的阶段,Grith 提供了一个值得关注的方向:给能力越来越强的代理加上系统级的「交通规则」,而不是等事故发生后审计日志。

查看原文