nono安全模型终极解析4个信任域、3种执行策略与无逃生舱的零信任沙箱设计【免费下载链接】nonoagent runtime security - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nononono 是一个专为 AI Agent 打造的零信任沙箱安全执行框架默认拒绝、显式授权、内核级强制执行无需容器、无需 VM、零延迟。本文带你彻底看懂 nono 安全模型的核心——4 个信任域如何分工、3 种执行策略如何取舍以及为什么无逃生舱恰恰是它最优雅的设计。先看全景内核沙箱边界在哪里nono 遵循一条核心原则默认拒绝显式允许Deny by default, allow explicitly。你通过 nono 运行的命令只能触碰你明确授权的东西其余一切在操作系统内核层面被拦死。整个体系被一条内核沙箱边界切成两半边界之上是可信组件边界之下是待监管的工作负载。这里要先澄清一个常见误解nono不是虚拟机/容器那种围墙式隔离。VM 的边界很强但一旦进墙墙内一切资源对 Agent 都是平的——项目文件、无关文件、凭据它都能摸到。nono 反其道而行不建围墙而是保护Agent 身边的每个具体资产——每一个可达的文件、凭据、进程都来自一次显式授权未授权的一律够不着哪怕它们和 Agent 共享同一个内核。官方定义是nono 是一个能力capability模型而不是 VM 模型。它回答的问题是如何限制单个进程及其子代的执行路径而非如何造一个独立内核——两者可以叠加互不冲突。 延伸阅读docs/cli/internals/overview.mdx、docs/cli/internals/security-model.mdx4 个信任域谁可信、谁受限、谁不可信nono 的安全模型建立在清晰的信任分域之上。每个组件承担不同职责拥有不同的信任级别#信任域信任假设职责1宿主内核完全可信强制施加 Landlock、seccomp、Seatbelt 限制2nono supervisor 与 broker完全可信解析命令策略、启动工具沙箱、中介审批/代理/凭据/审计3Profile 与命令策略可信配置定义哪些命令获得哪些权限——策略写宽了沙箱就宽了4被选中的工具进程Agent受限工作负载只能行使策略授予的能力且不需要配合也能被管住关键细节Supervisor 刻意位于子沙箱之外以调用用户的权限运行属于可信计算基TCB的一部分Agent 及其输入不配参与策略决策——它们可以请求操作但无法决定 broker 授予哪些能力容器或 microVM 若被启用只是可选的外层边界用于限制 bypass 的爆炸半径。 源码入口crates/nono-cli/src/exec_strategy.rs、crates/nono/src/supervisor/mod.rs无逃生舱设计能力只能收缩无法扩张这是 nono 安全模型最有意思的一点——沙箱进程无法移除已施加的自身限制其所有后代继承这些限制。在 Linux 上由 Landlock 兜底、seccomp 设卡在 macOS 上由 XNU 内核的 Seatbelt 提供等价能力。一旦应用不可逆、内核强制、子进程继承、无用户态逃生通道。那么需要临时访问额外文件怎么办nono 的答案不是给 Agent 一把钥匙而是运行时委派runtime delegation不变式被沙箱化的进程无法扩张自己的内核策略只有沙箱之外的可信组件才能通过启用且受策略控制的路径把额外权限委托进来。具体路径supervisor 仍在沙箱外 → 它可以按策略新开一个工具子进程、打开已批准的文件并把 fd 注入给子进程、代理网络与凭据。所以会话是可变的但单个沙箱进程的能力集是单调收缩的——这正是无逃生舱的准确含义不是死锁而是把扩张权始终留在可信侧。一次open()的完整拦截流程长这样3 种执行策略direct / monitor / supervisednono 通过能力清单capability manifest中的process.exec_strategy字段提供 3 种执行策略在攻击面大小和功能丰富度之间做权衡策略行为特点适用场景direct先应用沙箱再直接exec()nono 进程彻底消失攻击面最小但无审计、无回滚、无诊断脚本、CI/CD、管道嵌入nono wrapmonitor先沙箱化后 fork默认值非o 驻留进程树中提供基础监控能力普通受控执行supervised先 fork仅对子进程施加沙箱父进程不受沙箱限制可提供审计、回滚快照、能力委派、网络代理交互式 AI Agentnono run/nono shell⚡ 选型口诀要审计/回滚/代理 → supervised要极致最小化 → direct其余 → monitor默认。supervised 模式下父进程不受沙箱保护nono 用多重加固弥补Linux 上父进程立即设为 non-dumpable、子进程默认禁止被 dumpmacOS 上施加PT_DENY_ATTACHIPC 通道只用匿名socketpair()无文件系统路径外部进程无法接入 内存安全的 Rust JSON 解析。即使 supervisor 被攻破攻击者拿到的也只是调用用户本身的权限——supervisor 是向下的权限边界不是向上的提权跳板因为 nono 全程无 root、无 setuid、无 CAP_SYS_ADMIN。 延伸阅读docs/cli/features/execution-modes.mdx、docs/cli/internals/capability-manifest.mdx网络出口ProxyOnly 模式与凭据隔离使用--network-profile或--allow-domain时nono 在 supervisor 内启动 HTTP 代理并把子进程的网络能力收缩到仅可达localhost:port——Linux 用 Landlock ABI v4 逐端口 TCP 规则macOS 用 Seatbelt 出站规则。内核直接拒绝一切其他connect()知道 IP 也绕不过去。三重防护会话令牌每次会话生成 256 位随机 token随NONO_PROXY_TOKEN下发请求必须携带并以常数时间比较校验防止同机其他进程蹭用DNS 重绑定防护代理自行解析 DNS把 link-local 段169.254.0.0/16、fe80::/10与云元数据主机名硬拒堵住白名单域名解析到内网 IP的经典攻击凭据隔离API 密钥以ZeroizingString形式只驻留 supervisor 内存由代理在 TLS 上游侧注入Authorization头。子进程看到的只有本地 URL——即使子进程流量被恶意库记录真实密钥也从未出现在其地址空间。信任与签名给 Agent 的指令文件上锁Agent 会被提示注入、会读取CLAUDE.md/SKILLS.md等指令文件。nono 的信任系统trust attestation在启动前扫描工作区对匹配策略的每个文件计算 SHA-256、查黑名单、验证 Sigstore 签名 bundle、比对发布者身份——任何一环失败即硬性拒绝Agent 不得启动。三层策略逐级组合内嵌 → 用户级 → 项目级且项目级策略无法削弱你声明的信任锚用户级策略定义我信任谁项目级只负责声明验证什么。恶意项目多塞一个发布者也没用——deny的执行强度不能被下调。 完整指南docs/cli/features/trust.mdx、签名核心源码 crates/nono/src/trust/signing.rsFail-Closed出任何错子进程一律拿不到访问权nono 把所有故障模式设计成朝安全方向失败故障场景行为安全性质Supervisor 崩溃通知 fd 关闭挂起系统调用收到ENOSYS子进程退回 Landlock安全——Landlock 仍会拒绝越权访问Supervisor 拒绝请求子进程收到EPERM安全——显式拒绝命中受保护根目录审批后端都见不到请求先被拒安全——保护 nono 自身状态触发限流请求自动拒绝安全——防审批提示轰炸子进程在审批期间退出有效性校验失败请求丢弃安全——无孤儿状态沙箱初始化失败直接报错退出绝不裸奔执行安全——fail-closed审计侧的边界也被诚实标注沙箱强制是内核级 fail-closed 的审计日志是 supervisor 记录、本地完整性模型内可防篡改的带--audit-sign-key时会对审计 Merkle 根做 keyed DSSE 签名——但外部锚定仍属未来工作。nono 防不住什么诚实清单了解边界比了解能力更重要。nono不保护内核漏洞任何沙箱都一样、隐蔽信道时序侧信道等、CPU/磁盘耗尽型 DoSLinux 可用 cgroup v2 限制内存与进程数见 docs/cli/features/resource-limits.mdx、已授权路径内部的数据、以及微小的 TOCTOU 竞态窗口。部署建议很简单本地开发/CI → 宿主上直接跑 nono 即可大幅收窄 Agent 权限对抗性代码或多租户 → 外层套容器/microVM 当围墙内层用 nono 做细粒度工具策略。两种模型正交叠加。关键源码与文档速查安全模型全文docs/cli/internals/security-model.mdx架构总览威胁模型与保证docs/cli/internals/overview.mdxLinux 强制层 Landlockdocs/cli/internals/landlock.mdx / crates/nono/src/sandbox/linux.rsmacOS 强制层 Seatbeltdocs/cli/internals/seatbelt.mdx / crates/nono/src/sandbox/macos.rs执行策略实现crates/nono-cli/src/exec_strategy.rs工具沙箱工具级策略docs/cli/features/tool-sandbox.mdx能力清单 Schemacrates/nono/schema/capability-manifest.schema.json一句话总结nono 的安全模型不是造一面更高的墙而是把每一次权限授予变成显式的、窄的、可执行、可审计的委托——能力只收缩不扩张失败永远偏向拒绝这正是 AI Agent 时代零信任、零配置、零延迟沙箱该有的样子。【免费下载链接】nonoagent runtime security - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nono创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
从选型到落地:DeskcommCRM如何重塑销售团队客户管理流程 1. 从一次销售晨会说起:为什么我最后选了 DeskcommCRM做销售管理这些年,我前前后后接触过不少客户管理系统。有用到一半因为太复杂被一线销售集体抵制的,有功能齐全但每次打开都要等三分钟刷新的,还有报表漂亮得不行但跟实际业务完… · 2026/9/25 18:19:29
DeskcommCRM实战:构建轻量级桌面客户管理与通信集成系统 1. 项目概述:DeskcommCRM 到底是做什么的第一次听到“DeskcommCRM”这个名字的时候,我脑子里闪现了两个关键词:Desk 和 Communication。做客户管理系统的老同学应该都有同感,市面上的 CRM 大多叫“XXX Cloud”“XXX Sales”&#… · 2026/9/25 18:19:29
Atlas 300V 24G实战:NPU加速卡上的YOLO部署全解析 最近总有人在群里问:atlas这名字听起来像个地图软件,怎么总跟YOLO、NPU、加速卡这些词出现在一块?还有人直接问“atlas 300v 24g 是运算加速卡吗”,是不是能拿来当显卡跑游戏。我每次看到这种问题都想笑,但又觉得情有可… · 2026/9/25 18:19:22
Rocky linux9下部署redis数据库集群 目录 前言:
一、服务器规划
二、系统优化(所有节点执行
1.关闭透明大页(THP)
2.内存设置
3. 设置文件描述符上限
4. 内核网络与内存优化
三、编译安装 Redis 最新版(所有节点执行)
1.安装编译依赖 … · 2026/9/25 18:52:51
Atlas 300V 24G推理加速卡上部署YOLO模型全流程解析 “atlas部署yolo”和“atlas 300v 24g 是运算加速卡吗”——这两类问题最近被问得特别密集。一边是大家都在做边缘侧目标检测,手里攒着现成的YOLO模型,想在便宜、低功耗的AI加速卡上跑起来;另一边是华为昇腾的Atlas产品线型号复杂,… · 2026/9/25 18:52:32
DMR数字对讲机组网实战:50人工地选型、信道规划与中继部署实用指南 本文基于建筑施工现场通信部署经验,从DMR制式原理、信道规划、中继部署到场测验收,讲解中型场景下无线对讲系统的技术落地方法。适合读者:通信集成商、IT运维、项目技术负责人。目录
现场通信的常见问题需求分析:人员架构与环境特… · 2026/9/25 18:52:26
机器人跨区域运行梯控设计:地下车库到大堂任务连续性分析 摘要: 机器人从地下车库进入大堂等跨区域场景时,需要面对不同网络环境、设备状态和任务流程变化。梯控系统需要保证机器人任务连续,避免区域切换造成运行中断。导语: 单一区域机器人应用通常只需要解决移动和导航问题,… · 2026/9/25 18:52:20
IronClaw Decision Capture 技能实战:在 Agent 会话中自动检测、持久化与追踪决策 人工智能AI 应用交互助手AI Agent 【免费下载链接】ironclaw IronClaw is an Agent OS focused on privacy, security and extensibility 项目地址: https://gitcode.com/gh_mirrors/iro/ironclaw 点击查看 免费下载 IronClaw 的 decision-capture 技能是一套面向 … · 2026/9/25 18:52:08
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37