
Skill Scanner的11个分析器逐一拆解从YARA签名到LLM判官的能力矩阵【免费下载链接】skill-scannerSecurity Scanner for Agent Skills项目地址: https://gitcode.com/gh_mirrors/sk/skill-scannerSkill Scanner 是一个面向 AI Agent Skills 的安全扫描器用 11 个可组合的分析器Analyzers对提示词注入、数据外泄、恶意代码等威胁做分层检测。本文逐一拆解这 11 个分析器的定位、触发方式与适用场景帮你快速选对组合、看懂每个发现Finding来自哪一层防线。 先看全貌11 个分析器的能力矩阵所有分析器都独立运行、输出统一的Finding结构由扫描器合并后报告。官方文档中的能力矩阵如下分析器类型需要 API Key阶段主要目标Static 静态确定性规则否1YAML 签名 YARA 模式Bytecode 字节码确定性规则否1.pyc完整性Pipeline 管道启发式否1Shell 命令链风险Behavioral 行为AST/数据流否1Python 源码行为VirusTotal外部情报是1二进制文件信誉AI Defense外部服务是1提示/内容/代码威胁信号OSV外部服务否1已知漏洞的固定依赖Trigger 触发器启发式否1模糊或高风险的描述LLM 大模型语义判官通常需要2意图级威胁推理Meta 元分析语义后处理通常需要2误报过滤与优先级排序Cross-Skill 跨技能关联分析否扫描后跨技能数据中继完整定义见 docs/architecture/analyzers/index.md 两阶段流水线谁先跑、谁后跑整个扫描分为两个阶段构建逻辑集中在 skill_scanner/core/analyzer_factory.py第一阶段除 LLM/Meta 外的分析器并行独立运行各自只拿到技能Skill模型第二阶段LLM 与 Meta 分析器拿到第一阶段的发现作为富化上下文再做语义推理扫描器合并所有发现、去重、后处理后输出报告。完整执行流程见 docs/architecture/scanning-pipeline.md。️ 第一组确定性本地引擎默认开启、离线可跑1. Static 静态分析器 —— 签名与 YARA 的主力静态分析器是最核心的确定性引擎内部是一条有序流水线YAML 签名匹配、YARA-X 规则扫描、Python 编程检查、文件清单审计、二进制与文档检查、Unicode 隐藏字符检测等约 28 个环节依次执行覆盖提示词注入、命令注入、数据外泄、硬编码密钥、依赖未固定、PDF/Office 宏等常见攻击面。签名规则skill_scanner/data/packs/core/signatures/YARA 规则skill_scanner/data/packs/core/yara/实现skill_scanner/core/analyzers/static.py详解docs/architecture/analyzers/static-analyzer.md2. Bytecode 字节码分析器 —— 揪出源码与编译产物不一致它会重新编译可见的.py源码并与同路径的.pyc文件做归一化对比。攻击者常用手法是让你看良性的 Python 源码、实际执行却是另一套编译产物——这个分析器就是专门抓这种狸猫换太子的。实现skill_scanner/core/analyzers/bytecode_analyzer.py3. Pipeline 管道分析器 —— 命令链污点追踪针对 Shell 命令管道做污点taint建模单独看每段命令都无害串起来却可能是攻击链。比如读敏感文件 → Base64 编码 → 网络发送这种三步外泄每一步都会被标注污点类型组合后升级风险等级。实现skill_scanner/core/analyzers/pipeline_analyzer.py 第二组启发式与深度行为分析4. Behavioral 行为分析器 —— 跨文件数据流侦探纯静态、不执行代码但比签名匹配看得更深用 AST 解析 Python 源码基于控制流图做前向数据流分析追踪数据来源Source→ 危险操作Sink的完整路径。它能抓到静态规则难以覆盖的组合型攻击环境变量 → 网络外发、凭据文件 → 编码后上传甚至横跨多个文件的采集 → 编码 → 上报三段式外泄。CLI 开启--use-behavioral。实现skill_scanner/core/analyzers/behavioral_analyzer.py详解docs/architecture/analyzers/behavioral-analyzer.md5. Trigger 触发器分析器 —— 给万能助手类描述亮黄灯AI 智能体靠技能描述决定何时激活技能。描述写得越笼统帮你做任何事越容易被无关请求触发甚至被恶意技能截胡。该分析器对这类过度泛化的描述给出信息级提醒。CLI 开启--use-trigger无需任何外部依赖。实现skill_scanner/core/analyzers/trigger_analyzer.py☁️ 第三组外部情报与服务增强6. VirusTotal 分析器 —— 二进制文件信誉查询技能包里若带二进制文件可查询 VirusTotal 的文件哈希/文件信誉被验证为良性的文件其BINARY_FILE_DETECTED发现会被自动抑制减少噪音。需要VIRUSTOTAL_API_KEYCLI 开启--use-virustotal。实现skill_scanner/core/analyzers/virustotal_analyzer.py7. AI Defense 分析器 —— 云端的威胁分类服务将提示、Markdown 与代码内容发送到 Cisco AI Defense 云端做安全分类提示词注入、数据外泄、工具投毒等并把云端的违规等级映射为本地严重级别。需要AI_DEFENSE_API_KEYCLI 开启--use-aidefense。实现skill_scanner/core/analyzers/aidefense_analyzer.py详解docs/architecture/analyzers/aidefense-analyzer.md8. OSV 分析器 —— 依赖漏洞免费查询把技能中精确固定版本的 Python 依赖如requirements.txt里的pkg1.2.3批量提交 OSV.dev 漏洞库查询命中已知漏洞即报SUPPLY_CHAIN_KNOWN_VULNERABILITY。免费、无需 API Key、网络失败时失败放行只告警不中断扫描。CLI 开启--use-osv。实现skill_scanner/core/analyzers/osv_analyzer.py 第四组LLM 判官与复核9. LLM 分析器 —— 意图级语义判官这是看得懂动机的一层用大模型按 Cisco 威胁框架理解技能整体意图输出结构化 JSON强制合法 AITech 分类编码如AITech-1.1直接提示注入覆盖社交工程、隐蔽外泄等模式匹配难以为继的场景。工程细节值得一提随机分隔符防注入技能内容被随机标签包裹恶意技能无法预测并伪造分析结束标记多厂商统一接入Anthropic、OpenAI、Bedrock、Gemini、Azure 等共识模式多轮投票只保留多数一致的发现提高置信度。CLI 开启--use-llm。实现skill_scanner/core/analyzers/llm_analyzer.py详解docs/architecture/analyzers/llm-analyzer.md10. Meta 元分析器 —— 发现结果的二审法官Meta 分析器是可选的第二遍 LLM 分析拿到所有分析器的发现后对照源码逐条复核——真误报就过滤、相关发现归成关联组、按可利用性排序并为技能给出 SAFE / SUSPICIOUS / MALICIOUS 的总体裁决。它内置分析器权威等级LLM Behavioral AI Defense Static Trigger避免低置信度的纯关键词匹配覆盖高置信度结论。CLI 开启--enable-meta建议至少 2 个分析器同时开启。实现skill_scanner/core/analyzers/meta_analyzer.py详解docs/architecture/analyzers/meta-analyzer.md 第五组跨技能关联11. Cross-Skill 扫描器 —— 单看无害、合起来是暗网它不分析单个技能而是横向比对一批技能之间的关联共享的可疑 URL、互补的触发词、跨技能的数据中继链路——这是供应链式攻击的典型形态。接口与其他分析器不同analyze_skill_set只在scan-all --check-overlap批量扫描时运行。实现skill_scanner/core/analyzers/cross_skill_scanner.py 如何按场景选择分析器组合官方给出的推荐组合详见 docs/architecture/analyzers/meta-and-external-analyzers.md场景建议参数快速 CI 门禁默认仅核心确定性分析器单技能深度审查--use-llm --use-behavioral --use-trigger --enable-meta二进制密集型技能--use-virustotal依赖密集型技能--use-osv企业级有 AI Defense 权限--use-aidefense --use-llm --enable-meta最大覆盖--use-llm --use-behavioral --use-trigger --use-virustotal --use-osv --enable-meta⚠️ 使用边界扫描通过 ≠ 绝对安全最后提醒Skill Scanner 提供的是尽力而为best-effort检测覆盖本身不可能是完备的——没有发现不等于没有风险误报与漏报都可能存在。高价值或生产环境场景建议把扫描结果与人工代码审查、威胁建模结合作为纵深防御的一环。各预设策略默认、严格、宽松等可在 skill_scanner/data/ 下查看调优方法见 docs/user-guide/custom-policy-configuration.md。【免费下载链接】skill-scannerSecurity Scanner for Agent Skills项目地址: https://gitcode.com/gh_mirrors/sk/skill-scanner创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考