用途
AI编码代理如今会以开发者完整权限加载第三方代码和指令:技能(skill)是模型遵循的文本,钩子(hook)是在每次提示时运行的 shell 命令,MCP 服务器是从 npx 当前解析的任何内容启动的进程。NVIDIA 的 SkillSpector 文章引用 Liu 等人(2026)的研究:在分析的 31,132 个公开技能中,26.1% 存在漏洞,5.2% 看似恶意。没有人像审查依赖项那样审查这些内容。
该技能清点用户代理加载的所有内容,阅读其中隐藏或敌对行为,检查哪些内容自动运行以及如何固定,并返回逐项裁决。它从不执行、安装、编辑或删除被审计项。
主要能力
- 清点:列出每个代理在每个作用域加载的指令文件、技能、命令、子代理、插件、市场、钩子、设置文件和 MCP 服务器,并记录类型、代理、作用域、来源、固定方式以及可运行内容。
- 内容检查:通读所有承载指令的文件,并使用模式匹配(grep)检查不可见/双向 Unicode、隐藏注释中的指令、空白填充、编码载荷、指令覆盖、反拒绝、外泄措辞、凭据读取、代理窥探、远程脚本执行、混淆、无范围工具预批准、持久化/自我修改和触发器滥用。
- 钩子与设置检查:读取所有设置文件,检查钩子命令、权限模式、广泛授权、自动运行设置的键以及可能重定向或注入的环境变量。
- MCP 服务器检查:检查固定方式(固定到精确版本或摘要,或未固定)、工具定义中的注入和 Unicode 欺骗、描述与行为不一致、跨服务器指令,以及“地毯拉拽”(rug pull)风险(批准后变更)。
- 可选自动化:如果用户安装了 NVIDIA SkillSpector(Apache-2.0),可运行其静态检查(仅限 --no-llm 模式预先批准)。
- 裁决:将每个候选项关闭为已确认、需要验证或已拒绝,仅对已确认发现评定严重性,并给出逐项评级(不要安装/注意/安全)。
使用方式
该技能以步骤形式指导审计流程:
- 授权与范围:审计用户自己的机器、仓库和正在考虑安装的项。用户级文件夹属于键盘前的人;未经所有者同意,不要审计其他用户的主目录或共享主机。只读。配置文件可能包含令牌;发现秘密时,报告文件和键名,将值脱敏为前缀+后4位,并转交 secrets-audit。切勿运行项来查看其行为(不启动 MCP 服务器,不运行捆绑脚本或钩子命令)。需要动态证据时,编写 validation_plan 供用户在沙箱中运行。
- 清点:列出每个代理在每个作用域加载的所有指令文件、技能、命令、子代理、插件、市场、钩子、设置文件和 MCP 服务器。参考 references/locations.md 中的按代理路径表和一次性发现命令。
- 内容检查:端到端阅读每个承载指令的文件,然后使用 grep 模式检查。参考 references/content-checks.md 获取完整模式集和可移植的 grep/perl 等价物。
- 钩子与设置:读取作用域内的每个设置文件,项目文件优先。检查钩子命令、权限模式、广泛授权、自动运行设置的键以及可能重定向或注入的环境变量。
- MCP 服务器:检查固定方式、工具定义(名称、描述、参数)、描述与行为对比,以及通过快照和差异进行“地毯拉拽”控制。
- 可选自动化:如果用户安装了 SkillSpector(已固定),运行
skillspector scan --no-llm .claude/skills -f json -o skillspector.json。仅 --no-llm 模式预先批准。LLM 模式会将文件内容发送给配置的提供商(默认 NVIDIA 托管 API);仅在用户明确同意下运行,且绝不在包含配置秘密的文件夹上运行。将其输出视为候选项,合并到发现中,并按规则 ID 分类。 - 裁决、严重性和逐项评级:将每个候选项关闭为已确认、需要验证或已拒绝。仅对已确认发现评定严重性,整体严重性不超过已展示的影响。严重性锚点:
- 严重:活动项将凭据、转录或源代码发送到外部主机;运行命令或禁用批准的隐藏指令。
- 高:钩子或捆绑脚本具有未声明的出口;项目设置绕过权限或重定向模型流量;持久化到指令文件、设置或 shell 初始化。
- 中:未固定的 MCP 服务器或具有广泛工具访问的 git 安装技能;无范围 Bash + WebFetch 预批准;工具描述引导模型转向另一个工具或额外数据。
- 低:范围狭窄的未固定项;覆盖另一个技能的过宽触发器。
- 非发现——加固说明:无工具定义快照、缺少 permissions.deny 规则、固定标签而非 SHA、市场更新无审查流程。单独报告,切勿赋予严重性。
- 逐项评级:不要安装(或立即移除)——任何已确认的严重/高,或任何隐藏指令;注意——已确认的中/低,或开放的需要验证项,列出清除条件(固定、缩小授权范围、移除钩子);安全——仅有被拒绝的候选项和加固说明。“安全”意味着“本次审查未发现任何内容”,并非保证。
适用场景
- 开发者希望审查其 AI 编码代理加载的技能、插件、钩子、MCP 服务器和指令文件的安全性。
- 组织需要评估代理工具在其 AI 清单中的位置,或调查已运行的恶意项。
- 在安装新技能、插件或 MCP 服务器之前进行安全评估。
限制
- 该技能只读,不执行、安装、编辑或删除被审计项。
- 需要动态证据的验证步骤需由用户在沙箱中运行,技能本身不执行。
- 仅当用户安装并固定 SkillSpector 时,才可选用其自动化检查;LLM 模式需明确同意。
- “安全”评级仅表示本次审查未发现内容,并非绝对保证。
- 审计范围限于用户自己的机器、仓库和考虑安装的项,未经同意不得审计他人主目录或共享主机。