☰
如何验证你的AI Agent技能未被篡改:NVIDIA Agent Skills的OMS签名校验实战指南
2026/9/28 20:57:28 网站建设 项目流程

如何验证你的AI Agent技能未被篡改:NVIDIA Agent Skills的OMS签名校验实战指南

【免费下载链接】skillsAgent Skills for NVIDIA products — install into Claude Code, Codex, and other coding agents to run Physical AI, robotics, simulation, CUDA, and RAG workflows end to end.项目地址: https://gitcode.com/gh_mirrors/skills36/skills

NVIDIA Agent Skills 是面向 Claude Code、Codex 等编码 Agent 的官方技能目录,每个技能都附带 OMS 分离签名文件skill.oms.sig。本文教你用 4 步完成 OMS 签名校验,确认你的 AI Agent 技能自签名发布以来未被篡改,无需任何密码学基础。

为什么 AI Agent 技能需要完整性校验?

Agent 技能不只是文档——它可能指示你的 Agent 执行命令、读写文件、调用工具。这意味着技能目录一旦在传输或缓存环节被改动,风险是真实的:

篡改场景可能的后果
镜像站被投毒技能内植入恶意指令
本地缓存被修改SKILL.md权限声明被悄悄扩大
脚本文件被替换Agent 实际执行了未经审核的代码

签名校验回答的就是一个朴素的问题:"我现在装着的技能,和发布者签发的技能,是否一字不差?"

认识技能的"安全三件套" 🧩

在 skills/ 目录下的每个技能(如 skills/cuopt-install/)都采用统一的签名布局:

skill-name/ ├── SKILL.md # Agent 消费的技能指令 ├── scripts/ # 可选:辅助脚本 ├── references/ # 可选:参考资料 ├── skill.oms.sig # ✅ 分离式 OMS 签名文件 └── skill-card.md # 技能治理卡

NVIDIA 采用了 OpenSSF Model Signing(简称OMS)格式。与传统只覆盖单个文件的签名不同,OMS 签名覆盖整个技能目录树——包括 SKILL.md、脚本、参考资料和所有支撑文件,唯独排除签名文件自身。

签名之外,还有两样东西共同构成信任链条:

  1. 签名文件skill.oms.sig—— 随技能一起分发;
  2. 信任锚点证书—— 仓库根目录的 nv-agent-root-cert.pem,代表"谁签的"这一身份证明;
  3. 待校验的技能目录—— 你本地安装的那一份。

4步完成技能签名校验

第1步:准备技能目录与信任锚点证书

如果通过官方 CLI 安装(npx skills add nvidia/skills),技能目录会自动就位。若需从仓库获取完整目录结构,可克隆:

git clone https://gitcode.com/gh_mirrors/skills36/skills

信任锚点证书nv-agent-root-cert.pem就在仓库根目录,即 nv-agent-root-cert.pem。⚠️ 注意:校验时的证书必须来自你信任的发布方,这是整个信任链条的起点。

第2步:安装校验工具

OMS 签名需要一个兼容的校验器,NVIDIA 推荐使用model-signing包,一行命令安装:

pip install model-signing

第3步:运行校验命令

对准你要检查的技能目录执行:

model_signing verify certificate 技能目录 \ --signature 技能目录/skill.oms.sig \ --certificate-chain nv-agent-root-cert.pem

以校验 skills/cuopt-install/ 为例,把技能目录替换为skills/cuopt-install即可。

第4步:解读校验结果

  • 校验通过:目录内容与 NVIDIA 签发时完全一致,skill.oms.sig签名有效,且证书链可信;
  • 校验失败:任一文件被增、删、改,或签名/证书不匹配,都会导致失败。这正是设计意图——签名之后新增的未签名文件,严格校验应当失败,提醒你本地目录已经偏离了已审核版本。

进阶:什么时候可以放宽严格模式?

如果你的政策允许在已签名技能上追加少量未签名文件(例如本地补充的参考资料),可以加上参数:

--ignore-unsigned-files

但官方建议:生产环境和企业发布检查优先使用严格校验,除非有文档记录的明确理由(详见 docs/signing-agent-skills.mdx)。

签名校验在发布流程中的位置 🔐

签名只是信任管线的最后一环,而不是全部。NVIDIA 的完整管线(见 docs/agent-skill-trust-pipeline.mdx)按顺序解决三个不同的问题:

环节回答的问题留下的证据
扫描(SkillSpector)内容安全吗?扫描报告
评估(SkillEvaluator 三层)技能真的有用吗?BENCHMARK.md
OMS 签名发布的就是审核过的那份吗?skill.oms.sig

顺序是:先扫描、再评审、然后对将要发布的精确目录签名,最后把skill.oms.sig随技能一起发布。需要牢记一点:签名不能证明技能是安全的,它只证明"这份技能就是被签名的那份"。要拼出完整的故事,签名必须配合扫描报告和 skill-card.md 技能卡一起使用。

同步流水线还会强制执行"缺件即丢弃"——缺少签名、技能卡或评估数据集的技能根本无法进入目录,这就是你在仓库中几乎每个技能目录都能找到skill.oms.sig的原因。

新手速查清单 ✅

安装或使用任何已签名技能前,逐项确认:

  • 技能目录下存在skill.oms.sig签名文件;
  • 证书链来自预期发布者(使用官方 nv-agent-root-cert.pem);
  • 已对最终安装目录运行校验命令(不是安装前的下载副本);
  • 已阅读技能卡 skill-card.md 与扫描报告;
  • 任何本地修改之后,都重新跑一次校验。

常见问题 FAQ

Q:签名文件能检测出哪些篡改?A:目录内任意文件的增、删、改都会导致严格校验失败——包括改一个字节、替换一个脚本、或偷偷新增一个未签名文件。

Q:校验失败了怎么办?A:先确认本地目录是否被修改过;若未修改,则签名或证书不可信,应停止使用该技能,并从官方渠道重新获取。

Q:每个技能都要装一次校验工具吗?A:只需pip install model-signing一次,之后可对任意技能目录重复执行校验命令。

Q:更多技术细节在哪里看?A:官方文档 docs/signing-agent-skills.mdx 覆盖签名布局、校验输入与策略选项;docs/scanning-agent-skills.mdx 介绍安装前的安全扫描;docs/release-checklist.mdx 是发布侧的完整检查清单。

按照这套 OMS 签名校验流程,你无需信任任何人的口头承诺——一条命令,就能让密码学替你回答"我的 AI Agent 技能是否被篡改"。

【免费下载链接】skillsAgent Skills for NVIDIA products — install into Claude Code, Codex, and other coding agents to run Physical AI, robotics, simulation, CUDA, and RAG workflows end to end.项目地址: https://gitcode.com/gh_mirrors/skills36/skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询