首页/新闻资讯/正文详情

nono 沙箱执行模式怎么选型:Supervised 与 Direct 两种模式完整指南(附攻击面对比表)

发布时间:2026/9/25 2:23:01 来源:云帆数科 栏目:资讯中心
nono 沙箱执行模式怎么选型:Supervised 与 Direct 两种模式完整指南(附攻击面对比表)
nono 沙箱执行模式怎么选型Supervised 与 Direct 两种模式完整指南附攻击面对比表【免费下载链接】nonosecure multiplexed execution paths for agents - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nononono 是一款零信任、零配置的 AI Agent 沙箱执行工具它提供Supervised受监督和Direct直接两种执行模式前者由 nono 父进程在沙箱外提供审计、回滚等运行时服务后者在 exec 后直接消失、攻击面最小。本文带你快速搞懂两者的区别并给出攻击面对比表和选型建议。一分钟看懂为什么会有两种模式nono 的核心思路是「默认拒绝、显式授权」——通过 LandlockLinux、SeatbeltmacOS等内核级机制把命令能访问的文件、网络、系统调用限制到你明确授权的范围内。但围绕「nono 这个进程本身该不该留在进程树里」存在一个权衡留在沙箱外Supervised父进程可以记录审计日志、做回滚快照、拦截审批请求、代理网络流量——功能强大但父进程本身不在沙箱内攻击面更大消失掉Directnono 应用沙箱后直接exec()进入目标命令进程树里没有任何「多出来的」进程攻击面最小但也失去了所有依赖父进程的高级功能。Supervised 模式AI Agent 的默认选择Supervised 是nono run和nono shell的默认模式无需任何额外参数nono run --allow-cwd -- my-command它的执行模型分三步nono 先fork()出子进程只有子进程被沙箱化并运行你的命令父进程Supervisor留在沙箱外提供审计记录、能力扩展、网络代理、回滚快照等服务。下图展示了 Supervised 模式的进程关系沙箱化子进程不可扩展、不可逃逸而受信任的 Supervisor 在沙箱外持有 seccomp 通知 fd可以打开文件并向子进程注入 fd能力扩展Capability ExpansionSupervised 的独门绝技在 Linux 上如果显式启用--capability-elevationSupervisor 还能做到「运行时按需授权」子进程调用open()一个未授权路径时seccomp 过滤器会先于 Landlock 拦截该请求并通知 Supervisor你在终端批准后Supervisor 把文件描述符直接注入子进程——对 Agent 来说这次open()就像从未被拦截过Supervised 模式能给你带来什么✅默认审计记录沙箱化子进程无法篡改自己的审计日志✅审计完整性--audit-integrity开启追加式哈希链与 Merkle 根✅回滚快照--rollback记录基线与终态退出后可交互式审查并撤销变更✅能力扩展Linux终端审批提示 令牌桶限流10 次/秒突发 5✅网络代理过滤--allow-domain时子进程只能访问本地代理端口凭证如 API Key始终留在 Supervisor 内存中子进程地址空间里看不到✅诊断页脚命令非零退出时nono 会解释发生了什么、建议怎么修✅资源限额cgroup v2 内存/进程数上限仅 Supervised 支持Direct 模式追求最小攻击面的极致选择Direct 模式通过nono wrap启用nono wrap --allow-cwd -- my-commandnono 应用沙箱后直接exec()进入目标命令——nono 从进程树中彻底消失没有父进程。适合场景脚本与 CI/CD 流水线追求最小开销管道piping与嵌入场景不希望多出父进程对安全性有极致要求进程树中没有沙箱外组件代价也很直接没有审计记录、没有回滚快照、没有能力扩展、没有网络代理、出错时没有诊断提示。攻击面对比表一张表讲清楚怎么选维度Supervisednono run/nono shellDirectnono wrap父进程是否存在是留在沙箱外否exec 后消失攻击面大小较大父进程沙箱外运行最小父进程风险缓解ptrace 加固Rust 内存安全IPC 仅走匿名 socketpair 与 seccomp 通知 fd无父进程无此问题审计记录✅ 默认开启❌回滚快照✅--rollback❌能力扩展Linux✅ 需显式开启❌网络代理 / 凭证隔离✅❌代理依赖父进程错误诊断页脚✅❌资源限额cgroup v2✅❌适用场景交互式 AI Agent默认推荐脚本、CI/CD、最小化部署Supervised 的攻击面到底大在哪父进程在沙箱外运行理论上是一个额外的受攻击目标。nono 的应对是Supervisor 由 Rust 编写IPC 路径无unsafe解析逻辑、不运行任何不受信代码、不持有高于当前用户的权限、对外没有网络监听、也没有文件系统可见的 socket——从子进程侧攻击 Supervisor 需要内存破坏漏洞或内核漏洞从外部攻击 Supervisor 则等价于「已经拿到了当前用户的代码执行」。三步决策法我该选哪个需要审计、回滚、能力扩展、网络代理或错误诊断吗→ 需要 → 选Supervisednono run默认需要最小开销或进程树里不能有父进程吗→ 需要 → 选Directnono wrap都没有特别要求→ 选Supervised默认对绝大多数交互式 AI Agent 场景它就是正确答案。一句话总结日常跑 Agent 用nono run写脚本进 CI 用nono wrap。WSL2 用户注意两种模式在 WSL2 上均可用但受 seccomp notify 限制Supervised 模式下的能力扩展不可用WSL2 的 init 进程占用了唯一的 notify 监听器基于代理的网络过滤默认也被禁用回滚快照与诊断功能不受影响。相关文档与源码想深入了解可以阅读执行模式官方文档docs/cli/features/execution-modes.mdxSupervisor 运行时服务详解docs/cli/features/supervisor.mdx安全模型与威胁边界docs/cli/internals/security-model.mdx执行策略源码fork 与沙箱编排逻辑crates/nono-cli/src/exec_strategy.rs监督进程与 socket 协议实现crates/nono/src/supervisor/【免费下载链接】nonosecure multiplexed execution paths for agents - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nono创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

winget-install三种安装方法深度对比:PowerShell Gallery、短链一行命令还是本地下载?哪个最合适
winget-install三种安装方法深度对比:PowerShell Gallery、短链一行命令还是本地下载?哪个最合适

winget-install三种安装方法深度对比:PowerShell Gallery、短链一行命令还是本地下载?哪个最合适 【免费下载链接】winget-install Install WinGet using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2019/2… · 2026/9/25 2:23:01

node-sass (LibSass) 插件机制:以运行时共享库注入自定义函数与 Importer
node-sass (LibSass) 插件机制:以运行时共享库注入自定义函数与 Importer

前端构建工具 【免费下载链接】node-sass :rainbow: Node.js bindings to libsass 项目地址: https://gitcode.com/gh_mirrors/no/node-sass 点击查看 免费下载 LibSass 插件机制允许在运行时通过动态加载共享对象(Linux 上为 .so、Windows 上为 .dll&a… · 2026/9/25 2:23:01

深入理解 FlowGram.AI:可组合的工作流开发框架,如何帮你构建 AI 工作流平台
深入理解 FlowGram.AI:可组合的工作流开发框架,如何帮你构建 AI 工作流平台

前端低代码工作流自动化流程编排 【免费下载链接】flowgram.ai FlowGram is an extensible workflow development framework with built-in canvas, form, variable, and materials that helps developers build AI workflow platforms faster and simpler. 项目地址&#xff1… · 2026/9/25 2:22:55

银河麒麟与Windows双系统启动顺序深度解析
银河麒麟与Windows双系统启动顺序深度解析

1. 项目概述:为什么改启动顺序不是“点几下鼠标”的事你装好了银河麒麟V10和Windows 11双系统,开机却总先进入Windows——不是你按错了键,是GRUB菜单压根没弹出来;或者GRUB倒是出来了,但麒麟排在第三行,Win… · 2026/9/25 3:32:09

NAT10下游基因预测:生物信息学与机器学习全流程解析
NAT10下游基因预测:生物信息学与机器学习全流程解析

简介:一个面向生物信息学与机器学习交叉应用的NAT10下游基因预测项目资源包,适合生信初学者、研究生及关注基因调控机制的研究者参考。资源围绕与NAT10相关的GEO表达数据集展开,完整覆盖数据提取、清洗、标准化,以及基于支持向量机… · 2026/9/25 3:32:09

WinForm与DevExpress控件继承体系解析
WinForm与DevExpress控件继承体系解析

1. WinForm与DevExpress控件继承体系解析在Windows Forms应用程序开发中,DevExpress控件套件因其丰富的UI组件和强大的功能而广受欢迎。但许多开发者在从原生WinForm控件转向DevExpress控件时,经常会遇到一个看似简单却令人困惑的问题:为什么… · 2026/9/25 3:32:09

AI编码代理失控怎么破?用Trellis给代理装上行为辅助轮
AI编码代理失控怎么破?用Trellis给代理装上行为辅助轮

说实话,用AI编码代理写代码这件事,最让我崩溃的不是它"不会",而是它"太会了"。让它改个接口,它能顺手把整个模块的注释风格全改了;让它加一行日志,它能自作主张重构一个看似无关的函数… · 2026/9/25 3:32:09

使用 AWS SDK for JavaScript (v3) 开发 Amazon SES:身份验证、发信、模板与收件规则完整实战指南
使用 AWS SDK for JavaScript (v3) 开发 Amazon SES:身份验证、发信、模板与收件规则完整实战指南

示例工程教程后端 【免费下载链接】aws-doc-sdk-examples Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below. 项目地… · 2026/9/25 3:32:09

html-anything 竞品拆解技能实战:把竞品资料转成产品决策报告 —— 以 AI 会议助手市场为例
html-anything 竞品拆解技能实战:把竞品资料转成产品决策报告 —— 以 AI 会议助手市场为例

AI 应用人工智能AI AgentAI 写作媒体生成 【免费下载链接】html-anything ✨ The agentic HTML editor — your local AI agent writes the HTML, you ship it. 🚀 75 Skills 9 Surfaces (magazine deck poster XHS / tweet prototype data report Hyperfram… · 2026/9/25 3:32:03

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* 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

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维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
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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码