
nono v0.78.0
agent 运行时安全——零信任、零配置、零延迟的 agent 沙箱
[!NOTE] 在 1.0 版本发布之前,API 正在趋于稳定。必要时仍可能发生 API 变更,但会保持在最低限度。
nono 是一款完整的智能体运行时安全工具。 以低延迟、极小的占用空间和零配置,保护您的智能体、它们的工具、它们的凭据,以及它们遵循的技能和指令。内核强制执行的沙箱是完整工作流(保护、验证、审计和恢复)的基础。
带上您的智能体:Claude Code、Codex、Copilot、OpenCode、Goose、OpenClaw、Hermes、Pi,或您使用 ADK、Mastra、Pydantic AI 和 LangChain 等框架自行构建的智能体。您可以轻松地将自己定制的智能体接入 nono 的安全环境,并立即受益于其全面的安全功能。
nono 支持 macOS、Linux 和 Windows(WSL2)。
无需特权,随处运行。 单一二进制文件,无需 root 权限。可在开发者的笔记本电脑上、Kubernetes pod 内、CI 工作流中、容器或 microVM 中运行 nono。它可与您现有的基础设施组合,实现纵深防御。
nono 保护什么
- 工具 — 在各自独立的临时沙箱中运行每个工具,与智能体及其他工具隔离,并对文件、网络访问、环境变量和凭据设置明确的权限。控制智能体可以调用哪些命令,以及哪些工具可以相互调用。
- 凭据 — 通过基于代理的注入将 API 密钥保留在智能体的沙箱之外,并在需要时仅允许单个工具访问。使用幻影令牌将凭据的使用限制在已批准的工具范围内。
- 网络访问 — 控制智能体连接的位置及其可执行的操作,支持域名过滤以及针对 HTTP 方法和路径的 API 规则。
- 供应链与技能证明 — 使用 Sigstore 验证技能、钩子和指令文件的来源与完整性。定义你信任的发布者,并拒绝策略所涵盖的未签名或被篡改的文件。
- 密码学审计 — 保留智能体会话和安全决策的防篡改记录,支持完整性验证和可选签名。
- 回滚与恢复 — 当智能体走错方向时,审查文件变更并从经过验证的快照中恢复受跟踪的文件。
你的策略不受智能体控制。 在可组合的配置文件中定义它们,并强制执行如下规则:
awsCLI 可以使用凭据,但curl不能。gh可以读取 issue 和 PR,但只能向org/foo发布内容。git可以在其自身策略下调用ssh,而智能体不能直接调用ssh。
快速开始
curl
curl -fsSL https://nono.sh/install.sh | sh
macOS / Linux(Homebrew)
brew install nono
Nix
该项目提供了一个 Nix flake,包含两个输出:
#default(从源码构建)——使用buildRustPackage从源码构建(首次运行会编译该 crate 及其依赖)#prebuilt——从 GitHub Releases 获取官方发布二进制文件(速度快,无需编译)
# Run without installing (from source)
nix run github:nolabs-ai/nono
# Run the prebuilt binary (no compilation)
nix run github:nolabs-ai/nono#prebuilt
# Install into your profile
nix profile add github:nolabs-ai/nono
# Pin to the latest release
nix run "github:nolabs-ai/nono?ref=$(curl -fsSL https://api.github.com/repos/nolabs-ai/nono/releases/latest | jq -r .tag_name)"
其他平台 — Debian/Ubuntu、Fedora、Arch、RHEL、openSUSE、WSL2:参见安装说明。
运行它!
在注册表中搜索一个 agent,然后运行它:
nono search pi
nono pull nolabs-ai/pi
nono run --profile nolabs-ai/pi -- pi
就是这样。Pi 现在运行在由该 pack 提供的、经过审查的能力之上。nono 会在应用沙箱之前展示确切的文件系统、网络和凭据访问权限。
所有主流 agent 的 profile 都位于 registry.nono.sh,已加固并可直接拉取。每个 profile 都打包了合适的文件系统范围、网络允许列表、hooks、skills 等。
打造你自己的配置!
默认配置不够用了?用脚手架生成一个 profile 并调整它——还是你熟悉的那个命令:
nono profile init pi-local --extends nolabs-ai/pi
nono run --profile pi-local -- pi
nono profile init 会为你的 agent 导出一个可扩展、可编辑的 profile 文件,该文件继承自指定的基础 profile。该 profile 是可组合的 JSON,因此你可以在与团队共享或向社区发布之前,审查确切的文件系统、网络、凭据和工具规则。
你是 agent 开发者,想要发布自己的 agent 包吗?我们非常欢迎你,并乐于推广你的作品!查看文档。
准备深入探索?
前往文档,了解 nono 丰富的可组合策略系统、凭据注入、L7 过滤、供应链安全、回滚、多路复用、审计等更多内容。
库支持
nono 提供 Rust 和 Python 的 FFI 绑定。
同时也提供 Python 绑定。
贡献
我们鼓励使用 AI 工具参与贡献。但是,在提交之前,你必须理解并仔细审查任何 AI 生成的代码。安全至关重要。如果你不理解某项更改的工作原理,请先在 Discord 中提问。
安全
如果你发现安全漏洞,请不要公开提交 issue。请遵循我们的安全策略中的流程。
许可证
Apache-2.0