manuelschipper/nah
a guard that blocks catastrophic agent actions
解决的问题
nah 防止 AI 编码代理执行灾难性操作——例如删除整个文件系统、窃取密钥或清除 Git 历史记录——通过在执行前拦截工具调用实现。它作为安全防护层,阻止可证明危险的命令,同时将非危险调用交由代理的现有运行时权限处理。
工作原理
nah 以静态 Rust 二进制文件形式编写,不使用 LLM 做决策,而是确定性地运行。它将工具调用解析为“类型化效果”(例如文件读取、网络请求、进程行为),并将其与防护规则库进行比对。
如果某条防护规则检测到明确违规,将返回 阻断 判定,告知代理该操作被拒绝的原因。若无规则被触发,则返回 委托 判定,允许代理自身的沙箱或审批流程处理请求。用户还可使用任意语言构建自定义扩展,添加项目特定的安全规则。
适用人群
使用 AI 编码代理(如 Claude Code、Cursor 或 Devin)的开发者,希望获得自动化的保护层,防止意外或恶意的破坏性命令执行。
亮点
- 确定性安全:使用 Rust 二进制而非 LLM 判定,确保微秒级响应时间与一致结果。
- 丰富的防护规则库:内置 46 个防护规则,覆盖执行劫持、密钥窃取、文件系统破坏和基础设施拆除等场景。
- 广泛集成:支持多种代理运行时,包括 Claude Code、Cursor 和 Copilot。
- fontenc-自我保护:阻止代理尝试禁用 nah 或修改其配置。
- 可自定义:支持通过 TUI 或 CLI 切换特定防护规则,并可创建自定义防护程序。
相关
- 项目
- 项目
- 项目
- 项目
- 项目