Skill Scanner CLI用法清单:scan、scan-all、scan-repo三大命令与交互向导实战
【免费下载链接】skill-scannerSecurity Scanner for Agent Skills项目地址: https://gitcode.com/gh_mirrors/sk/skill-scanner
Skill Scanner 是一款专为 AI Agent Skills(智能体技能包)打造的安全扫描器,能快速检测提示词注入、数据外泄、恶意代码等常见威胁。本文带你快速上手它的核心 CLI:scan、scan-all、scan-repo三大命令,外加一个"傻瓜式"交互向导interactive,看完即可在 5 分钟内完成第一次技能包安全体检。🔍
一键安装,3 分钟跑通第一次扫描
Skill Scanner 基于 Python(3.11–3.14),一条命令即可安装:
pip install cisco-ai-skill-scanner安装完成后,直接运行内置的示例技能包验证环境——项目自带一套测试技能(evals/skills/safe-skills/simple-math 等),非常适合练手:
# 扫描单个技能 skill-scanner scan evals/skills/safe-skills/simple-math # 扫描整个目录(非递归) skill-scanner scan-all evals/skills --format table安全技能的输出干净利落:
============================================================ Skill: simple-math ============================================================ Status: [OK] SAFE Max Severity: SAFE Total Findings: 0 Scan Duration: 0.12s而开启行为分析后扫描恶意样本,则能准确捕获数据外泄、凭证读取等问题:
Status: [FAIL] ISSUES FOUND Max Severity: CRITICAL Total Findings: 11 CRITICAL: 3 / HIGH: 3 / MEDIUM: 4 / LOW: 1scan:单技能深度扫描的常用开关
skill-scanner scan <技能目录>是最常用的命令,默认运行静态 + 字节码 + 管道 + 关联四组核心分析器,无需任何配置。想加深度时,按需追加开关即可:
| 场景 | 推荐命令 | 说明 |
|---|---|---|
| 快速本地检查 | skill-scanner scan ./my-skill | 默认分析器,秒级出结果 |
| 疑似第三方技能 | 追加--use-behavioral --policy strict | 启用数据流行为分析 + 严格策略 |
| 高置信度研判 | 追加--use-llm --enable-meta | LLM 语义分析 + 误报过滤(需 API Key) |
| 多格式报告 | 追加--format markdown --format sarif | 一次运行产出多份报告 |
三个高频参数值得记住:
--use-behavioral:开启数据流行为分析,可发现"读取凭证 → 编码 → 外发"这类组合攻击链;--policy strict:策略预设支持strict(严)、balanced(均衡,默认)、permissive(宽)三档;--lenient:宽容模式,可扫描缺少SKILL.md的非标准技能(如.claude/commands/*.md)。
scan-all:多技能目录批量扫描与 CI 门禁
当你管理一个技能库时,scan-all可以一次扫完整个目录:
# 递归扫描 + 发现高危问题即失败(适合 CI) skill-scanner scan-all ./skills --recursive --fail-on-findings两个专属参数:
--recursive(可简写-r):递归查找所有技能包;--check-overlap:交叉检测各技能描述的重叠,识别"关键词堆砌"式的技能投毒。
关于退出码的约定非常清晰,是接入 CI/CD 的关键:
0:命令成功(或未触发失败条件);1:运行出错,或启用--fail-on-findings后存在 CRITICAL/HIGH 级别发现。
也可以用--fail-on-severity medium自定义阈值,例如"中危及以上即阻断构建"。
scan-repo:免克隆,远程仓库一键扫描
scan-repo是最省心的命令:只需给出仓库地址(owner/repo简写或完整 URL),它会自动克隆到临时目录、扫描其中所有技能,结束后自动清理:
# 默认就是递归扫描 skill-scanner scan-repo owner/skills-repo # 输出 SARIF 报告 + 高危阻断 skill-scanner scan-repo owner/skills-repo --format sarif --output report.sarif --fail-on-findings它支持--recursive(默认开启,--no-recursive可关)、--check-overlap等与scan-all相同的参数。如果仓库里一个技能都没找到,命令会以退出码 1 结束并提示 "No skills found to scan"。
交互向导 interactive:不记命令也能配出专业扫描
对参数感到头晕?直接运行不带子命令的skill-scanner(或显式写skill-scanner interactive)即可启动交互式向导,实现位于 skill_scanner/cli/wizard.py:
- 自动探测环境:检测 LLM / VirusTotal / AI Defense 的 API Key 是否已配置,并扫描当前目录下常见的技能目录(
skills/、.cursor/skills/、.codex/skills/等); - 选择动作:单技能扫描、批量扫描、策略配置器、分析器列表、生成策略文件,5 选 1;
- 挑选目标:自动列出的技能直接按序号点选,也可输入自定义路径;
- 勾选分析器:区分"免费"(行为分析、OSV 依赖漏洞扫描)与"需 API Key"(LLM、VirusTotal、AI Defense)两组;
- 选择策略:
balanced/strict/permissive三档预设,附中文式说明; - 设置输出:6 种格式任选,可保存为文件;
- 配置 CI 门禁:按需设置失败严重度阈值;
- 确认执行:向导会把你的选择实时拼成一条完整命令并高亮预览,你可以选择直接运行、复制命令、改路径或退出。
这个"所见即所得"的设计非常适合新手:走完一遍向导,你其实就学会了手写专业扫描命令。✨
输出格式速查:6 种格式各有所长
| 格式 | 适用场景 |
|---|---|
summary(默认) | 终端快速查看 |
json | CI/CD 解析、二次加工 |
markdown | 人类可读报告,配合--detailed附完整证据 |
table | 终端表格,多技能总览 |
sarif | 接入 GitHub Code Scanning |
html | 交互式报告,方便分享 |
一个命令可同时输出多种格式,例如--format markdown --format sarif。
避坑指南:新手最常见的 4 个问题
- "No findings" 不等于绝对安全:扫描器是最佳努力检测,无发现仅代表未命中已知威胁模式,高风险技能仍需人工复核;
- LLM 分析需要密钥:
--use-llm前需设置SKILL_SCANNER_LLM_API_KEY和SKILL_SCANNER_LLM_MODEL,否则该分析器会失败; - 策略调优:误报多就换
permissive,追求高召回用strict;skill-scanner configure-policy可用图形化 TUI 生成自定义策略; - 查看可用分析器:任何时候
skill-scanner list-analyzers都能列出当前可启用的分析引擎。
延伸阅读
- 快速入门指南:从安装到出报告的最小路径
- CLI 用法详解:常见工作流与退出码行为
- CLI 命令参考:全部参数的完整手册
- 核心命令实现:skill_scanner/cli/cli.py
- 实战示例:examples/basic_scan.py
记住三句话:单个技能用scan,技能库用scan-all,远程仓库用scan-repo;拿不准参数就运行交互向导skill-scanner interactive;CI 里加上--fail-on-findings,让高危技能自动阻断流水线。🚀
【免费下载链接】skill-scannerSecurity Scanner for Agent Skills项目地址: https://gitcode.com/gh_mirrors/sk/skill-scanner
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考