Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
skill-scanner — Security Scanner for Agent Skills | Kitploit
工具/GitHubGitHub/cisco-ai-defense/skill-scanner
Static AnalysisVulnerability ScannersDynamic Analysis (Sandboxing)Code AnalysisMalware AnalysisDevSecOpsSecret DetectionThreat IntelligenceSupply Chain SecurityMachine LearningLearning & EducationAI Security
2.4k30417天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubcisco-ai-defense/skill-scanner

skill-scanner

Security Scanner for Agent Skills

查看仓库网站

技能扫描器

License Python 3.10+ PyPI version CI Discord Cisco AI Defense AI Security Framework Ask DeepWiki

一种尽力而为的 AI 代理技能安全扫描器,可检测提示注入、数据泄露和恶意代码模式。结合了基于模式的检测 (YAML + YARA)、LLM 作为评判以及行为数据流分析,以最大化对可能威胁的检测覆盖率,同时最小化误报。

重要提示: 此扫描器提供尽力而为的检测,而非全面或完整的覆盖。未返回任何发现的扫描并不保证技能完全免受所有威胁。请参阅下方的范围与限制。

支持 OpenAI Codex Skills 和 Cursor Agent Skills 格式,遵循 Agent Skills 规范。使用 --lenient 时,还可扫描非标准格式,如 Claude Code .claude/commands/*.md 和纯 Markdown 技能仓库。


亮点

  • 多引擎检测 - 静态分析、行为数据流、LLM 语义分析以及基于云的扫描,提供分层、尽力而为的覆盖
  • 误报过滤 - 元分析器显著降低噪声,同时保持检测能力
  • CI/CD 就绪 - 支持 SARIF 输出用于 GitHub Code Scanning,可复用的 GitHub Actions 工作流,构建失败退出码
  • Pre-commit 钩子 - 集成 标准 pre-commit 框架,在每次提交前扫描技能
  • 可扩展 - 支持自定义分析器的插件架构

加入 Cisco AI Discord 讨论、分享反馈或与团队联系。


范围与限制

技能扫描器是一个检测工具。它可以识别已知和可能的风险模式,但不对安全性做出认证。

关键限制:

  • 无发现 ≠ 无风险。 返回“未发现”的扫描仅表示未检测到已知威胁模式。它不能保证技能是安全、无害或没有漏洞的。
  • 覆盖本质上是不完整的。 扫描器结合了基于签名的检测、基于 LLM 的语义分析、行为数据流分析、可选的云服务以及可配置的规则包。虽然这种方法提高了覆盖,但没有任何自动化工具可以检测到每一种技术,尤其是新颖或零日攻击。
  • 可能发生误报和漏报。 共识模式和元分析可以降低噪声,但没有任何配置能消除所有错误分类。请根据您的风险承受能力调整扫描策略。
  • 人工审查仍然必不可少。 自动化扫描是纵深防御策略的一个组成部分。高风险或生产部署应将扫描结果与人工代码审查和/或威胁建模相结合。

文档


安装

前提条件: Python 3.10+ 和 uv(推荐)或 pip

root@kitploit:~
# 使用 uv(推荐)
uv pip install cisco-ai-skill-scanner

# 使用 pip
pip install cisco-ai-skill-scanner
云提供商扩展
root@kitploit:~
# AWS Bedrock 支持
pip install cisco-ai-skill-scanner[bedrock]

# Google AI Studio / Gemini 支持
pip install cisco-ai-skill-scanner[google]

# Google Vertex AI 支持
pip install cisco-ai-skill-scanner[vertex]

# Azure OpenAI 支持
pip install cisco-ai-skill-scanner[azure]

# 所有云提供商
pip install cisco-ai-skill-scanner[all]

快速入门

环境设置(可选)

root@kitploit:~
# 用于 LLM 分析器和元分析器
export SKILL_SCANNER_LLM_API_KEY="your_api_key"
export SKILL_SCANNER_LLM_MODEL="claude-3-5-sonnet-20241022"

# 用于 VirusTotal 二进制扫描
export VIRUSTOTAL_API_KEY="your_virustotal_api_key"

# 用于 Cisco AI Defense
export AI_DEFENSE_API_KEY="your_aidefense_api_key"

交互式向导

不确定使用哪些标志?不带参数运行 skill-scanner 即可启动交互式向导:

root@kitploit:~
skill-scanner

该向导会引导您选择扫描目标、分析器、策略和输出格式,然后在运行之前显示组装好的命令。非常适合学习 CLI。

CLI 用法

root@kitploit:~
# 扫描单个技能(核心分析器:静态 + 字节码 + 流水线)
skill-scanner scan /path/to/skill

# 使用行为分析器进行扫描(数据流分析)
skill-scanner scan /path/to/skill --use-behavioral

# 使用所有引擎进行扫描
skill-scanner scan /path/to/skill --use-behavioral --use-llm --use-aidefense

# 使用元分析器进行误报过滤
skill-scanner scan /path/to/skill --use-llm --enable-meta

# 使用触发分析器检查模糊描述
skill-scanner scan /path/to/skill --use-trigger

# 多次运行 LLM 分析器并保留多数同意的发现
skill-scanner scan /path/to/skill --use-llm --llm-consensus-runs 3

# 递归扫描多个技能
skill-scanner scan-all /path/to/skills --recursive --use-behavioral

# 使用跨技能重叠检测扫描多个技能
skill-scanner scan-all /path/to/skills --recursive --check-overlap

# 扫描 GitHub 仓库(owner/repo 简写或完整 URL)
skill-scanner scan-repo owner/repo
skill-scanner scan-repo https://github.com/owner/repo --use-llm

# 宽松模式:容忍格式错误的技能,而不是失败
skill-scanner scan /path/to/skill --lenient
skill-scanner scan-all /path/to/skills --recursive --lenient

# 宽松模式,配合非标准技能格式(不需要 SKILL.md)
skill-scanner scan .claude/commands/deploy --lenient
skill-scanner scan-all .claude/commands --recursive --lenient

# 使用自定义元数据文件名而不是 SKILL.md
skill-scanner scan /path/to/skill --skill-file README.md

# CI/CD:如果发现威胁则构建失败
skill-scanner scan-all ./skills --fail-on-severity high --format sarif --output results.sarif

# 生成带有攻击关联分组的交互式 HTML 报告
skill-scanner scan /path/to/skill --use-llm --enable-meta --format html --output report.html

# 使用自定义 YARA 规则
skill-scanner scan /path/to/skill --custom-rules /path/to/my-rules/

# 使用自定义分类 + 威胁映射配置文件(JSON/YAML)
skill-scanner scan /path/to/skill --taxonomy /path/to/taxonomy.json --threat-mapping /path/to/threat_mapping.json

# VirusTotal 哈希扫描,可选上传未知文件
skill-scanner scan /path/to/skill --use-virustotal --vt-upload-files

# 使用扫描策略预设(strict, balanced, permissive)
skill-scanner scan /path/to/skill --policy strict

# 使用自定义组织策略文件
skill-scanner scan /path/to/skill --policy my_org_policy.yaml

# 生成一个可自定义的策略文件
skill-scanner generate-policy -o my_org_policy.yaml

# 交互式策略配置器(TUI)
skill-scanner configure-policy

LLM 提供商说明: --llm-provider 当前接受 anthropic 或 openai。 对于 Bedrock、Vertex、Azure、Gemini 以及其他 LiteLLM 后端,请设置提供商特定的模型字符串和环境变量(参见 LLM 分析器文档)。

Python SDK

root@kitploit:~
from skill_scanner import SkillScanner
from skill_scanner.core.analyzers import BehavioralAnalyzer

# 使用分析器创建扫描器
scanner = SkillScanner(analyzers=[
    BehavioralAnalyzer(),
])

# 扫描一个技能
result = scanner.scan_skill("/path/to/skill")

print(f"发现: {len(result.findings)}")
print(f"最高严重等级: {result.max_severity}")

# 注意:is_safe 表示未检测到 HIGH/CRITICAL 发现。
# 它不能保证技能完全安全,没有风险。
if not result.is_safe:
    print("检测到问题——部署前请审查发现")

安全分析器


CLI 选项


示例输出

root@kitploit:~
$ skill-scanner scan ./my-skill --use-behavioral

============================================================
技能: my-skill
============================================================
状态: [OK] 未发现
最高严重等级: NONE
发现总数: 0
扫描耗时: 0.15s

注意: “未发现”表示扫描器未检测到任何已知威胁模式——并不保证技能完全安全、无风险。请参阅范围与限制。


GitHub Actions

使用可复用工作流在每次推送或 PR 时自动扫描技能:

root@kitploit:~
# .github/workflows/scan-skills.yml
name: 扫描技能
on:
  pull_request:
    paths: [".cursor/skills/**"]
jobs:
  scan:
    uses: cisco-ai-defense/skill-scanner/.github/workflows/scan-skills.yml@main
    with:
      skill_path: .cursor/skills
    permissions:
      security-events: write
      contents: read

结果通过 GitHub Code Scanning 以行内注释的形式出现在 PR 中。请参阅完整指南了解 LLM 集成、密钥配置和分支保护设置。


Pre-commit 钩子

使用 pre-commit 框架在每次提交前扫描技能:

root@kitploit:~
# .pre-commit-config.yaml
repos:
  - repo: https://github.com/cisco-ai-defense/skill-scanner
    rev: v1.0.0  # 使用最新发布标签
    hooks:
      - id: skill-scanner

或者直接安装内置钩子:

root@kitploit:~
skill-scanner-pre-commit install

该钩子自动检测哪些技能目录有暂存的更改,并只扫描这些目录,保持提交速度快。使用 --all 扫描所有内容。


贡献

我们欢迎贡献!请参阅 CONTRIBUTING.md 了解指南。

许可证

Apache 2.0 - 详情请见 LICENSE。

Copyright 2026 Cisco Systems, Inc. and its affiliates


GitHub • Discord • PyPI

下载工具
指南描述
快速入门5 分钟内上手
架构系统设计与组件
威胁分类完整的 AITech 威胁分类及示例
LLM 分析器LLM 配置与使用
元分析器误报过滤与优先级排序
行为分析器数据流分析详情
扫描策略自定义策略、预设及调优指南
策略快速参考策略章节与旋钮的紧凑参考
规则编写如何添加签名、YARA 和 Python 规则
GitHub Actions用于 CI/CD 集成的可复用工作流
API 参考REST API 文档
开发指南贡献与开发环境搭建
分析器检测方法范围要求
静态YAML + YARA 模式所有文件无
字节码.pyc 完整性验证Python 字节码无
流水线命令污染分析Shell 流水线无
行为AST 数据流分析Python 文件无
LLM语义分析SKILL.md + 脚本API 密钥
元误报过滤所有发现API 密钥
VirusTotal基于哈希的恶意软件二进制文件API 密钥
AI Defense基于云的 AI文本内容API 密钥
选项描述
--policy扫描策略:预设名称(strict, balanced, permissive)或自定义 YAML 路径
--use-behavioral启用行为分析器(数据流分析)
--use-llm启用 LLM 分析器(需要 API 密钥)
--llm-provider用于 CLI 路由的 LLM 提供商:anthropic 或 openai
--llm-consensus-runs N运行 LLM 分析 N 次并保留多数同意的发现
--llm-max-tokens NLLM 响应的最大输出令牌数(默认:8192)
--use-virustotal启用 VirusTotal 二进制扫描器
--vt-api-key KEY直接提供 VirusTotal API 密钥(可选)
--vt-upload-files将未知二进制文件上传到 VirusTotal(可选)
--use-aidefense启用 Cisco AI Defense 分析器
--aidefense-api-url URL覆盖 AI Defense API URL(可选)
--use-trigger启用触发特异性分析器
--enable-meta启用元分析器用于误报过滤
--verbose包含每个发现的策略指纹、共现元数据,并保留元分析器误报
--format输出格式:summary, json, markdown, table, sarif, html。html 格式生成自包含的交互式报告,包含可折叠的相关性分组、可展开的代码片段和流水线污点流图
--detailed在 Markdown 输出中包含详细发现
--compact压缩的 JSON 输出
--output PATH默认输出文件路径(会被 --output-<fmt> 覆盖)
--fail-on-findings如果发现 HIGH/CRITICAL 则退出并报错(--fail-on-severity high 的简写)
--fail-on-severity LEVEL如果存在级别为 LEVEL 或以上的发现则退出并报错(critical, high, medium, low, info)
--custom-rules PATH使用目录中的自定义 YARA 规则
--taxonomy PATH为此运行加载自定义分类配置文件(JSON/YAML)
--threat-mapping PATH为此运行加载自定义扫描器威胁映射配置文件(JSON)
--lenient容忍格式错误的技能(强制转换错误字段、填充默认值)而不是失败。当 SKILL.md 缺失时,回退为扫描目录中的 .md 文件
--skill-file FILENAME自定义元数据文件名,用于替代 SKILL.md(例如 README.md)
--check-overlap(scan-all) 启用跨技能描述重叠检查
命令描述
(无命令)启动交互式扫描向导(在终端中运行时)
interactive启动交互式扫描向导(显式)
scan扫描单个技能目录
scan-all扫描多个技能(配合 --recursive, --check-overlap)
generate-policy生成一个用于自定义的扫描策略 YAML
configure-policy交互式 TUI 创建/编辑自定义扫描策略(支持 --input)
list-analyzers显示可用的分析器
validate-rules验证规则签名(支持 --rules-file)