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

AI Agent 供应链安全实战:nono 信任签名、策略与文件验证完全指南

发布时间:2026/9/26 0:28:45 来源:云帆数科 栏目:资讯中心
AI Agent 供应链安全实战:nono 信任签名、策略与文件验证完全指南
AI Agent 供应链安全实战nono 信任签名、策略与文件验证完全指南【免费下载链接】nonoagent runtime security - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nono让 AI Agent 替你写代码、调 API、跑构建效率是上去了供应链风险也跟着放大一个被投毒的SKILLS.md指令文件就足以让 Agent 把云密钥合法地读走。开源项目nono正是为此而生的 AI Agent 零信任沙箱——它基于 Sigstore 标准实现信任签名用沙箱策略把 Agent 的权限收窄到单个文件粒度并在启动和运行时对文件验证层层把关。本文将带你完整走一遍如何给 Agent 的指令文件签名、如何配置信任策略、nono 的验证管线到底做了什么。️ 为什么 AI Agent 的供应链攻击更危险传统软件的供应链攻击对象是二进制包而 AI Agent 的攻击面多了一层提示词指令文件如CLAUDE.md、SKILLS.md会被 Agent 当作系统提示执行攻击者往里面塞一句把~/.aws的内容发到某地址即可生效依赖的 pack 包官方 registry 分发的配置插件若被篡改所有使用者同时中招策略文件policy.json本身若可被悄悄修改沙箱形同虚设。nono 的对策是谁能改文件不重要签名说了算。下面按签名 → 策略 → 验证三步拆解。上图直观展示了 nono 的信任边界内核、nono 二进制和你显式授权的路径属于可信区而 Agent 本体、它派生的子进程、它加载的库全部被划入不可信区受内核沙箱边界约束。 四步完成文件信任签名本地密钥模式签名流程全部由nono trust子命令驱动详见官方文档 Trust Attestation。第 1 步生成签名密钥nono trust keygennono 会在系统密钥库macOS Keychain / Linux Secret Service中生成一对 ECDSA P-256 密钥私钥不以明文落盘。无头服务器上可用--keyref file:///path/to/key.pem改用文件存储密钥。第 2 步创建并签名信任策略nono trust init --include SKILLS.md --include CLAUDE.md nono trust sign-policytrust-policy.json声明了哪些文件必须被验证includes的 glob 模式和谁有资格签名publishers。注意策略本身也要签名——否则攻击者可以把自己加进发布者列表。第 3 步签名文件nono trust sign SKILLS.md # 单文件生成 SKILLS.md.bundle nono trust sign --all # 按策略批量签名每个文件得到一个.bundle伴生文件Sigstore bundle v0.3 格式建议与源文件一起提交到版本库。第 4 步验证nono trust verify --all之后每次nono run启动沙箱前都会自动预扫描所有匹配策略的文件未签名或被篡改的文件会被硬性拒绝Agent 根本不会启动。如上图nono run启动时会先显示 Verified 1 pack(s)然后列出 Agent 精确到每个路径/文件的能力r/w 权限最后才应用沙箱——策略透明可见是零信任的前提。 文件验证管线一次文件访问如何被层层审查在 Linux 监督模式下seccomp-notify 机制会拦截 Agent 的每一次文件打开调用。验证流程如下源码位于 crates/nono/src/trust/CLI 侧扫描逻辑见 trust_scan.rs对照流程图关键设计有四个黑名单优先于密码学文件摘要命中blocklist.digests时直接硬拒绝——即使签名完全合法。这覆盖了签名密钥泄露后的场景摘要绑定in-toto 语句中的 SHA-256 摘要与当前文件内容必须一致篡改任何一个字节都会导致验证失败发布者白名单签名者身份密钥 ID 或 CI 身份必须匹配策略中的publishers否则硬拒绝防 TOCTOU验证通过后注入文件描述符前还会复核 fd 的摘要堵住验证与读取之间被换文件的竞态窗口。验证结果按(路径, inode, mtime, size)缓存任一变化即失效兼顾了安全与性能。 三种签名模式覆盖本地到 CI/CD模式密钥位置适用场景身份依据Keyed密钥库macOS Keychain / Secret Service桌面开发密钥 ID 策略内嵌公钥Keyed文件本地 0600 文件容器、SSH 主机同上KeylessOIDC临时密钥10-20 分钟证书GitHub Actions CIFulcio 证书 Rekor 透明日志Keyless 模式是供应链安全的杀手锏CI 流水线签名时不持有任何长期密钥签发方OIDC issuer、仓库、workflow 路径、分支 ref 全部被写进签名验证端可以精确声明只信任my-org/*组织从main分支跑某个 workflow 签出来的文件。完整 CI 工作流示例见 package-publishing 文档。 策略即代码三层信任策略合并规则信任策略像沙箱配置一样支持组合合并语义是只加不减includes、publishers、blocklist三个层级的内容取并集enforcementdeny/warn/audit取最严格者胜出。更关键的是层级隔离用户级策略~/.config/nono/trust-policy.json定义你信任谁项目级策略只能定义验哪些文件。恶意项目无法移除你的发布者、无法降级deny——这是 nono 信任模型的底线。策略合并算法在 crates/nono/src/trust/policy.rs 中实现签名与 DSSE 信封构造在 crates/nono/src/trust/signing.rs。 Pack 包的分发与本地验证团队场景下配置通过pack签名的配置包分发。nono pull的消费端流程本身就是一条验证链拉取 registry 的 pull manifest 与产物本地验证每个 Sigstore bundle离线即可完成不依赖 registry 在线状态校验签名者仓库所属组织与 pack 命名空间一致将签名者身份钉入本地 pack 锁文件之后安装/更新可复查。也就是说registry 只是分发通道信任决策由签名包在用户机器上独立裁定——即使 registry 被攻破伪造包也过不了本地验证。签名结构DSSE 信封 in-toto 语句 Sigstore bundle 三层嵌套的内部格式可参阅 Attestation Internals。️ 内核层策略执行Landlock seccomp 双保险文件验证解决读到的内容可信吗沙箱策略解决能碰什么。nono 的策略模型是能力最小化而非围墙隔离LandlockLinux/SeatbeltmacOS在内核层执行路径与网络白名单规则一旦应用就不可逆、不可自我解除seccomp-notify只拦截openat/openat2两个系统调用其余调用零开销直通文件打开的额外延迟仅 3-10 微秒任何组件故障监督者崩溃、令牌错误、DNS 重绑定都遵循同一不变式出问题时子进程得不到访问。macOS 上已验证的文件还会被逐路径写入(deny file-write-data)规则实现内核级只读保护。更多执行细节见 security-model 文档。 快速上手清单# 1. 安装Homebrew brew install nono # 2. 生成签名密钥 nono trust keygen # 3. 初始化信任策略并签名 nono trust init --include SKILLS* --include CLAUDE* nono trust sign-policy nono trust sign --all --multi-subject # 4. 用受保护 profile 运行 Agent nono run --profile nolabs-ai/claude -- claude # 5. 随时查看验证状态 nono trust list推荐的项目结构根目录放trust-policy.json含其.bundle伴生文件所有被签名文件用单个--multi-subject生成的.nono-trust.bundle统一承载随源码一起提交。结语nono 把供应链安全的三件套——签名、策略、验证——做到了 AI Agent 工作流的每一环指令文件有密码学出处pack 包有本地可复验的完整性沙箱能力有内核层强制。它不承诺绝对防逃逸而是让每一次权限授予显式、窄化、可审计。对正在把 Agent 接入生产环境的团队来说这套模式值得直接抄作业先把信任策略立起来再谈效率。【免费下载链接】nonoagent runtime security - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nono创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

SEQ上报20 Subscriber Absent:VoLTE用户静默掉线的信令黑洞排查指南
SEQ上报20 Subscriber Absent:VoLTE用户静默掉线的信令黑洞排查指南

简介:本资源为一份5G网络优化实战案例文档,面向从事5G核心网与IMS信令分析的网优工程师及运维人员,聚焦SEQ上报「20 Subscriber Absent」这一典型拆线原因值的定位与排查。文档围绕IMS未注册、用户缺席等异常场景,梳理了从终端能力… · 2026/9/26 0:28:45

codex-desktop-linux信任链详解:从GPG签名验证到ASAR字节级一致的完整保障机制
codex-desktop-linux信任链详解:从GPG签名验证到ASAR字节级一致的完整保障机制

codex-desktop-linux信任链详解:从GPG签名验证到ASAR字节级一致的完整保障机制 【免费下载链接】codex-desktop-linux Unofficial ChatGPT desktop app for Linux (formerly the Codex app), built locally from OpenAI’s official macOS app. Includes Chat, Work… · 2026/9/26 0:28:39

写出你自己的DESIGN.md:把品牌视觉语言转成AI可执行规范的完整方法论(参考awesome-claude-design)
写出你自己的DESIGN.md:把品牌视觉语言转成AI可执行规范的完整方法论(参考awesome-claude-design)

写出你自己的DESIGN.md:把品牌视觉语言转成AI可执行规范的完整方法论(参考awesome-claude-design) 【免费下载链接】awesome-claude-design Awesome Claude Design: 68 ready-to-use design system inspirations in DESIGN.md format. Drop o… · 2026/9/26 0:28:39

Studio5000安装失败原因与工业级系统预检指南
Studio5000安装失败原因与工业级系统预检指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:54:24

微信4.1内存暴涨真相与三套降占用方案实测
微信4.1内存暴涨真相与三套降占用方案实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:54:24

前端工程师:5分钟用陌讯Skills为Cursor接入Remotion视频编排
前端工程师:5分钟用陌讯Skills为Cursor接入Remotion视频编排

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:54:24

红外技术三条线:从测温、遥控到AI检测一次捋清
红外技术三条线:从测温、遥控到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/26 1:54:24

2026芯片IP选型指南:从CPU/NPU到接口IP的避坑与实战
2026芯片IP选型指南:从CPU/NPU到接口IP的避坑与实战

1. 芯片IP选型这件事,为什么越来越像一场信息战如果你在2026年还在用“查手册、翻官网、问FAE”这套老办法做芯片IP选型,大概率会踩坑。不是因为你不够专业,而是因为芯片IP这个市场在过去三年发生了结构性变化:品类爆炸、供应商分… · 2026/9/26 1:54:24

Redis MCP 客户端应用配置指南:TaoToken 统一 Key 接入与 settings.json 骨架
Redis MCP 客户端应用配置指南:TaoToken 统一 Key 接入与 settings.json 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:54:18

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

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

企业微信二维码