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

nono如何实现内核级沙箱:Landlock与Seatbelt实现原理详解

发布时间:2026/9/25 19:46:43 来源:云帆数科 栏目:资讯中心
nono如何实现内核级沙箱:Landlock与Seatbelt实现原理详解
nono如何实现内核级沙箱Landlock与Seatbelt实现原理详解【免费下载链接】nonoagent runtime security - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nononono 是一个面向 AI Agent 的零信任沙箱执行框架通过 Linux 的 Landlock LSM 和 macOS 的 Seatbelt 两大内核机制在无需 root 权限的情况下实现内核级沙箱隔离限制命令能访问的文件、网络与进程。本文详解 nono 内核级沙箱的实现原理。为什么沙箱要下沉到内核层AI Agent 会自主调用 git、kubectl、curl 等真实开发工具。如果限制只停留在用户态比如靠脚本检查命令参数被执行的进程随时可能绕过检查。nono 的答案是把限制交给内核本身——让 OS 内核在每一次系统调用时强制执行策略被沙箱化的进程自己无法解除或扩展限制。这张图展示了 nono 的核心信任边界内核、nono 二进制在 exec 前应用沙箱、以及你显式授予的路径位于TRUSTED一侧而被执行的命令/Agent、它派生的所有子进程、加载的库、建立的网络连接全部位于UNTRUSTED一侧被 Kernel Sandbox Boundary 隔开。Linux 沙箱Landlock LSM 工作原理Landlock 是什么Landlock 是 Linux 内核 5.132021 年引入的安全模块LSM。与 SELinux、AppArmor 需要 root 配置不同Landlock 允许任何非特权进程自我限制——这正是 nono 无需 root 权限就能提供内核级沙箱的关键。nono 在 Linux 上的流程实现见 crates/nono/src/sandbox/linux.rs探测 ABI 版本自动检测内核支持的最高 Landlock ABI创建规则集声明要管控的访问类型文件读写、网络端口等添加路径规则为每个授予的能力capability添加路径规则调用restrict_self()规则集永久生效之后不存在任何 API 可以再加权限。不可逆内核保证的核心承诺restrict_self()一旦调用规则集永久应用无法扩展、无法撤销所有子进程自动继承限制唯一的逃逸途径是内核漏洞。这就是 nono 的安全基石限制不是 nono 进程的自我约束而是内核的强制nono 自己也无法反悔。如上图所示内核空间Kernel Space中 Landlock 是地基floor负责强制执行seccomp 是闸门gate负责拦截特定系统调用macOS 上则由 Seatbelt 承担。不可信沙箱子进程与受信 Supervisor 之间通过 IPC 通信——Supervisor 持有通知 fd负责代开文件、注入文件描述符。Landlock ABI 版本与功能演进nono 会自动使用内核支持的最高 ABI旧内核上核心功能依然可用详见 docs/cli/internals/landlock.mdx内核版本ABI新增能力5.13v1基础文件系统访问控制5.19v2跨目录重命名/硬链接REFER6.2v3文件截断TRUNCATE6.7v4TCP 端口 bind/connect 过滤6.10v5设备 ioctl 过滤6.12v6信号与抽象 UNIX 域套接字范围限制网络过滤是亮点内核 6.7 时 nono 可用 Landlock 的BindTcp/ConnectTcp直接在内核层封禁 TCP 流量旧内核上 nono 会降级使用 seccomp 兜底并给出警告。能力到内核权限的映射nono 把用户声明的能力映射为 Landlock 访问权限位。例如授予写权限时除了写入、建目录还会带上RemoveFile/RemoveDir——因为原子写入模式先写.tmp再 rename在内核层面需要删除权限位。macOS 沙箱Seatbelt 工作原理macOS 上nono 使用Seatbelt——苹果 XNU 内核的强制访问控制MAC框架也是沙箱化 App Store 应用和 Safari 的同一套技术详见 docs/cli/internals/seatbelt.mdx。生成策略、内核执行nono 会根据能力标志动态生成一个 Scheme 风格的 Seatbelt 策略文件核心是(deny default)默认拒绝然后调用sandbox_init()应用到当前进程再 exec 目标命令。sandbox_init()之后同样不可逆没有sandbox_remove()或sandbox_expand()子进程全部继承唯一逃逸方式是内核漏洞。允许发现拒绝内容的精妙设计对~/.ssh这类敏感路径nono 采用细腻的双层规则macOS 实现见 crates/nono/src/sandbox/macos.rs操作命中规则结果test -d ~/.sshfile-read-metadata✅ 允许cat ~/.ssh/id_rsafile-read-data❌ 拦截程序可以判断路径是否存在而不崩溃优雅的报错处理但读不到任何内容防数据外泄。这一设计还镜像了 macOS TCC 的行为对 Mac 用户而言体验自然。默认敏感路径覆盖云凭证~/.aws、~/.kube、SSH/GPG、钥匙串、浏览器数据、shell 配置与历史文件等用户可用--read显式放行。沙箱效果一目了然运行nono run时启动前会列出本次沙箱的全部能力清单让你在执行前就看清 Agent 能碰什么上图中每行标注r/rw读/读写与路径类型dir/file底部显示网络策略outbound allowed最后输出 Applying sandbox...——此时 Landlock/Seatbelt 才正式生效。调试与验证排查权限问题先 dry-runnono run --dry-run -v -- 你的命令查看将会授予哪些能力查看执行状态Landlock 会报告FullyEnforced全部生效/PartiallyEnforced内核较旧部分受限项不可用/NotEnforced系统不支持查内核日志dmesg | grep -i landlock查看 Landlock 拒绝记录macOS 用 Console.app 过滤 sandbox 查看违规详情。总结一套策略两种内核机制维度LinuxLandlockmacOSSeatbelt内核机制Landlock LSM5.13XNU 强制访问控制是否需要 root否进程自我限制否sandbox_init()网络控制ABI v4 起支持 TCP 过滤全有/全无按协议/方向不可逆性restrict_self()后永久sandbox_init()后永久子进程自动继承限制自动继承限制nono 的价值正在于上层是统一的声明式能力模型下层交给各平台最强的内核机制强制执行——你只需声明Agent 能访问哪些路径、哪些端口内核负责剩下的所有事情。想深入了解安全模型与信任边界划分可阅读 docs/cli/internals/security-model.mdx 和 docs/cli/internals/overview.mdx源码入口为 crates/nono/src/sandbox/mod.rs。【免费下载链接】nonoagent runtime security - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nono创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

自动化生成多节点聚合排障周报:AI 提炼全网流量趋势与风险 Top5
自动化生成多节点聚合排障周报:AI 提炼全网流量趋势与风险 Top5

自动化生成多节点聚合排障周报:AI 提炼全网流量趋势与风险 Top5在大型企业级分布式基础设施运维中,运维团队每周都需要向技术总监(CTO)和安全委员会提交一份**《全网网络流量与安全运行周度分析报表》**。 在过去,这项… · 2026/9/25 19:46:37

【YOLO26多模态融合改进】| SDFM 表层细节融合模块,利用通道-空间注意力机制,实现跨模态特征融合,抑制噪声干扰
【YOLO26多模态融合改进】| SDFM 表层细节融合模块,利用通道-空间注意力机制,实现跨模态特征融合,抑制噪声干扰

一、本文介绍 本文记录的是利用SDFM 模块改进 YOLO26 的多模态融合部分。 SDFM模块(Surface Detail Fusion Module,表层细节融合模块) 通过在特征提取网络的浅层引入通道-空间注意力机制,动态生成跨模态特征融合权重。该模块可自适应保留不同模态中的独特信息,抑制背景噪… · 2026/9/25 19:46:37

小白程序员必看:轻松入门大模型Agent,掌握未来AI核心技能!
小白程序员必看:轻松入门大模型Agent,掌握未来AI核心技能!

本文深入解析了LLM Agents的外部化设计,从权重到上下文再到Harness,阐述了能力迁移的三个阶段。重点介绍了记忆、技能、协议三个外部化维度,以及Harness作为工程层的核心作用。文章强调,可靠的Agent能力不仅来自模型内部参数&… · 2026/9/25 19:46:31

OpenCodex Providers 工作区账户与导航基线审计——从契约证据到多账户激活场景的全链路梳理
OpenCodex Providers 工作区账户与导航基线审计——从契约证据到多账户激活场景的全链路梳理

【免费下载链接】opencodex Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code 项目地址: https://gitcode.com/gh_mirrors/ope/opencodex 点击… · 2026/9/25 20:08:58

Navicat for MySQL实战指南:安装、连接、导入导出与排错
Navicat for MySQL实战指南:安装、连接、导入导出与排错

简介:Navicat for MySQL是专为MySQL设计的图形化数据库管理及开发工具,主要面向数据库管理员、运维开发者和需要日常操作MySQL的人员。它提供直观的图形界面与丰富功能,包括多连接管理、SQL语法高亮与自动完成、可视化ER模型、数据导入导出、… · 2026/9/25 20:08:40

校园WiFi覆盖方案设计:AC+瘦AP、信道规划与POE供电避坑
校园WiFi覆盖方案设计:AC+瘦AP、信道规划与POE供电避坑

简介:面向学校信息化建设者与无线网络工程师,这份PDF文档提供了一套完整的校园无线WIFI覆盖需求综合解决方案。内容从项目概述、需求分析到室内外覆盖规划、产品选型与网络拓扑规划均有详细展开,重点涵盖设计原则(实用、可靠、安全… · 2026/9/25 20:08:40

基于 FluxCD 的多集群 GitOps 声明式配置同步与灾难恢复
基于 FluxCD 的多集群 GitOps 声明式配置同步与灾难恢复

基于 FluxCD 的多集群 GitOps 声明式配置同步与灾难恢复在构建跨越多个物理数据中心(如华东核心主集群 k8s-prod-east 华北异地容灾集群 k8s-prod-north)的企业级高可用架构时:如何确保两套物理隔离的 Kubernetes 集群中的 300 多个微服务配… · 2026/9/25 20:08:27

中国高校前100 · 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪
中国高校前100 · 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪

中国高校前100 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪资仅采用统一全… · 2026/9/25 20:08:09

Gliding Horse 上下文动态感知与智能压缩:用 RelevanceTracker 让 Agent 真正“听得进”每一句话
Gliding Horse 上下文动态感知与智能压缩:用 RelevanceTracker 让 Agent 真正“听得进”每一句话

/* 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 20:08:09

数值优化(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

了解更多?预约专属演示

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

企业微信二维码