
每个场景该跑什么配置Skill Scanner从本地开发到注册表扫描的推荐设置清单【免费下载链接】skill-scannerSecurity Scanner for Agent Skills项目地址: https://gitcode.com/gh_mirrors/sk/skill-scannerSkill Scanner 是一个面向 AI Agent Skills 的安全扫描器能检测提示词注入、数据外泄和恶意代码模式。不同使用场景该选哪套扫描配置这篇文章按「本地开发 → CI 门禁 → 第三方技能审查 → 注册表扫描」的真实工作流给出一份可直接照抄的 Skill Scanner 推荐设置清单每个场景都附具体命令和预期效果。一、先搞懂Skill Scanner 的 5 个内置策略预设Skill Scanner 通过--policy参数选择扫描策略内置 5 个预设定义在 data 目录的策略文件 等位置预设风格LLM 裁判适用场景strict最高敏感度建议开启不受信内容、审计、威胁狩猎balanced默认检测与误报平衡按需开启通用 CI、日常扫描low-noise比 balanced 少 11 条高噪规则一般不需要本地开发、pre-commit、自家 CIquiet再降级 8 条规则压低审查队列必须开启审查人手不足的第三方技能审查permissive最高阈值、最少发现不需要可信的内部技能⚠️ 两个通用原则每个场景都成立HIGH 级别拦截MEDIUM 级别进人工审查队列—— 这是官方推荐的标准姿势无法完成分析的 Skill 要当作「未审查」而不是「干净」。预设细节可参考 scan-policies-overview.md逐项参数说明见 policy-quick-reference.md。二、场景一本地写 Skill pre-commit 钩子推荐纯规则 low-noise预设HIGH 级别拦截不需要 LLM。skill-scanner scan ./my-skill --policy low-noise在仓库根目录创建.skill_scannerrc再用skill-scanner-pre-commit --install安装钩子{ skills_path: .claude/skills, severity_threshold: high, policy: low-noise, fail_fast: true }为什么这么配规则扫描不需要任何 API Key、不联网、毫秒级出结果正是 pre-commit 钩子需要的特性。low-noise在 188 万个真实技能上把 MEDIUM 误报率从 2.14% 压到 1.93%同时几乎不损失真实威胁检出。预期效果规则能抓到 7.7% 的恶意技能留出集足以在你编写过程中拦截「下载即执行、硬编码凭证、注入字符串」这类无歧义模式。三、场景二CI 里给团队自己的 Skill 设门禁推荐纯规则 low-noiseHIGH 级别让流水线失败MEDIUM 通过 SARIF 上传为 PR 注释。skill-scanner scan-all ./skills --recursive --policy low-noise \ --fail-on-severity high --format sarif --output results.sarif项目提供了现成的可复用 GitHub Actions workflow输入参数和密钥配置详见 github-actions.md本地也可以直接用 scan-policies-overview.md 里的命令快速验证。为什么不需要 LLM团队自己写的 Skill 意图可信门禁主要防「手滑」和「抄来的危险模式」——规则扫描确定性强、同一输入永远同一结果失败的构建可复现。只有当你们会从外部引入 Skill时才需要升级到下一节的配置。预期效果与本地开发相同真实技能上约 1.9% 触发 HIGH 门禁如果你们的 Skill 会安装软件或处理凭证被拦概率会更高——这恰恰是规则在盯的东西。四、场景三安装第三方 Skill 前审查推荐规则 LLM 裁判 默认balanced预设HIGH 拦截 MEDIUM 审查队列。export SKILL_SCANNER_LLM_MODELbedrock-mantle/google.gemma-4-26b-a4b # 或你常用的模型 export SKILL_SCANNER_LLM_API_KEY... skill-scanner scan ./downloaded-skill --use-llm --fail-on-severity high --format json --output scan.jsonscan.json里所有 MEDIUM 及以上的发现交给人工HIGH 及以上直接拦截。为什么要加 LLM 裁判规则单独只能抓到 8% 的恶意技能——大多数恶意 Skill 的内容没有可被模式证明的特征比如「触发时运行某个自带脚本」。LLM 裁判负责读懂意图并且能区分「技能用途」和「滥用」支付类 Skill 动钱、浏览器类 Skill 跑 JS本身不算发现。预期效果留出测试集 / 真实技能阈值恶意召回率良性误报率到达人工的真实技能占比MEDIUM 审查66.7%15.4%11.7%HIGH 拦截33.7%6.4%3.8%LLM 裁判每个 Skill 约消耗 3800 输入 90 输出 tokenGemma 4 26B 实测。审查人手不够换成quietskill-scanner scan ./downloaded-skill --use-llm --policy quiet --fail-on-severity highquiet在low-noise基础上再降级 8 条规则并把裁判低置信度和「上下文风险」类发现封顶到 LOW仍会报告但不再触发门禁和入队预设MEDIUM 召回率MEDIUM 误报率进入审查队列的真实技能balanced66.7%15.4%11.7%low-noise63.2%13.4%8.7%quiet50.3%7.2%3.9%⚠️quiet绝不能脱离 LLM 裁判单独使用——它的额外降级是基于有裁判的数据选出来的没裁判时规则单独检出率会直接腰斩8.0% → 4.2%。五、场景四扫描整个注册表 / 技能市场推荐全量跑规则 low-noise预算允许就全量加裁判否则只对「规则命中的 随机抽样的一部分」跑裁判。skill-scanner scan-all ./registry --recursive --policy low-noise --format json --output rules.json为什么规则打底注册表规模下裁判是成本大头——官方实测判完 188 万个技能要 71 亿输入 token而 10 进程规则扫描 16 核主机约 90 分钟跑完。规则在真实技能上的 MEDIUM 命中率为 2.14%low-noise下 1.93%裁判能通读全文时与规则有 47% 的一致率。内容必须留在内网用 vLLM 本地起一个 Gemma 4 26B-A4B 即可复刻托管结果本地 F1 64.2% vs 托管 61.2%配置方法见 recommended-settings.md 的「Keeping skill content on your own machines」小节。纯规则模式下默认什么都不出机器——VirusTotal、AI Defense、OSV 分析器都要显式传参才启用。六、场景五威胁狩猎与应急响应推荐全开只读结果绝不用它做门禁。skill-scanner scan ./suspect-skill --policy strict --rule-packs atr promptguard \ --use-llm --llm-decompose --use-behavioral --format json --detailed启用全部社区规则包packs 目录后留出集召回率升到 73.8%但良性命中率也从 7.5% 飙到 92.5%——适合「把技能可能干的所有事都挖出来」不适合当门禁。--llm-decompose会让裁判按多个焦点各跑一次再合并token 消耗约为单次的 5 倍。七、别忽略的三个「自留地」缺口裁判读不了的 Skill 会直接通过门禁失败会以 INFO 级发现LLM_ANALYSIS_FAILED报告而 INFO 永不触发门禁。批量扫描后用 JSON 检查是否出现该发现有的话送人工审查。超大 Skill 只会被判部分内容INFO 发现LLM_CONTEXT_BUDGET_EXCEEDED会列出被排除的文件。真实技能中约 5% 会触发此时裁判与规则的一致率只有 7%——要么调大 custom-policy-configuration.md 里llm_analysis的预算要么送人工。数字来自特定语料先在自己技能上实测换个 20 万规模的技能源同样规则命中率从 2.1% 降到 0.5%。上线前用两个预设各扫一遍自己的技能抽样再定审查队列大小skill-scanner scan-all ./sample --recursive --policy balanced --format json --output balanced.json八、从推荐配置出发定制自己的策略不确定怎么改从最接近的预设生成一份策略文件只动需要的部分skill-scanner generate-policy --preset low-noise -o my-policy.yaml skill-scanner scan ./skill --policy my-policy.yaml最常调的两组开关完整字段说明见 policy-quick-reference.mdseverity_overrides: # 降级的规则按 LOW 报告可见、但不触发门禁 - rule_id: FILE_MAGIC_MISMATCH severity: LOW reason: mostly a text label in Markdown on real skills llm_analysis: low_confidence_max_severity: LOW # 模型自评低置信度的发现封顶到 LOW也可以用交互式 TUI 可视化编辑skill-scanner configure-policy。九、一张表总结选配置就看这张你是谁 / 要做什么配置拦截级别审查级别真实技能到达你的比例本地写 Skill规则 low-noiseHIGH—1.9% 被拦CI 管团队自己的 Skill规则 low-noiseHIGHMEDIUM 注释1.9% 被拦装第三方 Skill 前审查规则 LLMbalancedHIGHMEDIUM11.7% 审查3.8% 拦截审查人手有限规则 LLMquietHIGHMEDIUM3.9% 审查2.9% 拦截扫注册表 / 市场规则 low-noise裁判按预算加HIGHMEDIUM规则 1.9%威胁狩猎全规则包 --llm-decompose从不拦截全部大多数都会标记只做分诊完整数据、方法学和每个数字的出处见 recommended-settings.md 与 measured-results.md。装好 Skill Scannerpip install cisco-ai-skill-scanner后照上表抄对应命令就能开工——先按low-noise起步再根据自己技能的实际命中率微调比盲目追求「最严格」稳妥得多。️【免费下载链接】skill-scannerSecurity Scanner for Agent Skills项目地址: https://gitcode.com/gh_mirrors/sk/skill-scanner创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考