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:05 阅读更多 →
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:05 阅读更多 →
Jupyter Docker Stacks 实战 FAQ 深解:用户数据持久化、jovyan 用户机制与容器内 root 权限授予

Jupyter Docker Stacks 实战 FAQ 深解:用户数据持久化、jovyan 用户机制与容器内 root 权限授予

云原生开发工具数据科学 【免费下载链接】docker-stacks Ready-to-run Docker images containing Jupyter applications 项目地址: https://gitcode.com/gh_mirrors/do/docker-stacks 点击查看 免费下载 本篇以 Jupyter Docker Stacks 官方文档的 FAQ(d…

2026/9/25 2:23:05 阅读更多 →

最新新闻

低功耗电压检测电路:MOS管开关控制电阻分压,将待机电流降至nA级

低功耗电压检测电路:MOS管开关控制电阻分压,将待机电流降至nA级

/* 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 4:59:53 阅读更多 →
Arduino IDE安装ESP8266卡在99%?换源与离线包方案彻底解决

Arduino IDE安装ESP8266卡在99%?换源与离线包方案彻底解决

/* 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 4:59:53 阅读更多 →
Flowbite 搜索输入框组件完全指南:从基础搜索栏到语音搜索与高级筛选

Flowbite 搜索输入框组件完全指南:从基础搜索栏到语音搜索与高级筛选

UI组件前端 【免费下载链接】flowbite Open-source UI component library and front-end development framework based on Tailwind CSS 项目地址: https://gitcode.com/gh_mirrors/fl/flowbite 点击查看 免费下载 搜索框是每个站点的“入口级”交互组件。本篇基于…

2026/9/25 4:59:53 阅读更多 →
ESP32-C3 当管家:软件模拟 SWD 实现 RP2040 固件下载与日志采集

ESP32-C3 当管家:软件模拟 SWD 实现 RP2040 固件下载与日志采集

/* 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 4:59:53 阅读更多 →
产线烧录良率排查全攻略:从硬件连接到固件格式的链路诊断

产线烧录良率排查全攻略:从硬件连接到固件格式的链路诊断

/* 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 4:59:53 阅读更多 →
从 Codex CLI 到知识库:TaoToken 统一 Key 驱动的 AI 代理个人知识管理全流程

从 Codex CLI 到知识库:TaoToken 统一 Key 驱动的 AI 代理个人知识管理全流程

/* 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 4:58:52 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →