你现在的任务是使用 SkillSpector 对指定的 Agent Skill 进行安装前安全审计,请严格按照以下流程执行。
【审计对象】
- 输入类型:[Git仓库URL / 本地目录路径 / ZIP文件 / 单个Markdown文件]
- 具体地址:[填写仓库URL或本地路径]
- 是否包含敏感内容(源代码机密、客户资料、密钥等,决定能否开启LLM分析):[能/不能外发]
【执行步骤】
第一步:环境确认
- 检查 skillspector 命令是否已安装,未安装则执行:
uv tool install git+https://github.com/NVIDIA/skillspector.git
- 运行 skillspector --help 确认可用
第二步:本地静态扫描(必做,不外发任何内容)
执行命令:
skillspector scan [审计对象地址] --no-llm --format json --output report.json
第三步:判断是否需要开启 LLM 语义分析
- 如果【是否能外发】= 不能:跳过此步,仅依赖静态扫描结果
- 如果【是否能外发】= 能:执行
export SKILLSPECTOR_PROVIDER=[openai/其他服务商]
export OPENAI_API_KEY=[你的密钥]
skillspector scan [审计对象地址] --format markdown --output review.md
第四步:解读报告,按以下优先级检查
1. 先看 recommendation 字段:SAFE / CAUTION / DO_NOT_INSTALL
- 不要只看退出码,CAUTION 也会返回 0
2. 再看 analysis_completeness.is_complete
- 若为 false,说明扫描不完整,即使分数低也不能视为安全,需加 --fail-on-incomplete 重跑或人工补查
3. 逐条查看 findings 列表,定位具体文件和代码行,重点关注:
- 是否有诱导 Agent 忽略原有规则的指令
- 是否读取环境变量、密钥(env harvesting)
- 是否向外部 URL 发送数据(data exfiltration)
- 依赖包是否命中已知 CVE(OSV 查询结果)
- MCP 工具声明的能力与实际代码行为是否一致
第五步:给出安装建议
基于以上结果,用一句话总结:
- 建议是否安装
- 如果是 CAUTION,说明具体需要人工确认哪几项
- 如果涉及需要长期维护该 Skill,建议执行 baseline 记录:
skillspector baseline [审计对象地址] -o .skillspector-baseline.yaml
【输出格式要求】
请用中文、分点列出以下内容:
1. 风险分数与档位(SAFE/CAUTION/DO_NOT_INSTALL)
2. 完整度是否达标
3. 高风险 finding 摘要(文件名+问题类型+严重程度)
4. 是否建议安装,理由是什么