velzepooz/skill-detector

GitHub: velzepooz/skill-detector

专用于检测AI技能包安全风险的命令行工具,能扫描注入、数据外泄及供应链威胁,帮助用户在使用第三方技能前识别潜在恶意代码。

Stars: 2 | Forks: 0

# skill-detector [![CI](https://img.shields.io/github/actions/workflow/status/velzepooz/skill-detector/ci.yml?branch=main&label=ci)](https://github.com/velzepooz/skill-detector/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/velzepooz/skill-detector)](https://github.com/velzepooz/skill-detector/releases/latest) [![License](https://img.shields.io/github/license/velzepooz/skill-detector)](./LICENSE) [![Go Version](https://img.shields.io/github/go-mod/go-version/velzepooz/skill-detector)](./go.mod) [![Go Report Card](https://goreportcard.com/badge/github.com/velzepooz/skill-detector)](https://goreportcard.com/report/github.com/velzepooz/skill-detector) 扫描 AI skill 文件夹(Anthropic Claude Skills、Codex skills 以及类似的基于文件的格式)中的安全威胁,以便您审查第三方 skills —— 例如来自 [skills.sh](https://skills.sh) 的 skills —— 而无需逐行手动阅读。 ## 为什么 从第三方来源安装 skill 意味着在您的 AI 助手中运行他人的代码和提示。恶意的 skill 可以窃取凭据、注入提示、运行 shell 命令,或在不知不觉中篡改文件。`skill-detector` 会对 skill 文件夹运行安全检查并标记任何可疑内容,以便您在将其放入 skills 目录之前获得第二意见。 ## 检查内容 六种专为 AI skill 包定制的规则类别: | 类别 | 检测内容 | | ------------------ | --------------------------------------------------- | | **注入** | Shell / 命令注入、提示注入 | | **供应链** | 可疑依赖、未固定安装、域名欺骗 | | **数据外泄** | 到未知主机的出站 HTTP、剪贴板 / 环境变量读取 | | **错误配置** | 过于宽泛的权限、不安全的默认值 | | **完整性** | 被篡改或未签名的文件 | | **访问控制** | 权限声明与实际行为不匹配 | 它还会解析 skill 清单 YAML,因此可以根据 skill *声称* 需要的内容来权衡发现结果。 ## 安装 ``` # Homebrew (macOS / Linux) brew install velzepooz/tap/skill-detector # Go go install github.com/velzepooz/skill-detector/cmd/skill-detector@latest ``` 或者从 [Releases](https://github.com/velzepooz/skill-detector/releases) (linux / darwin / windows × amd64 / arm64) 获取预编译的二进制文件。 ## 用法 ``` # 扫描单个 skill 文件夹 skill-detector scan ./path/to/some-skill # 扫描整个 skills 目录 skill-detector scan ~/.claude/skills # CI 模式:遇到 HIGH+ 级别发现时失败 skill-detector scan ./my-skill --fail-on high # JSON 输出(用于通过管道传递给其他工具) skill-detector scan ./my-skill --format json # 静默模式 —— 仅输出退出代码 skill-detector scan ./my-skill --quiet ``` ### 退出代码 | 代码 | 含义 | | ---- | ----------------------------------------- | | `0` | 无发现 | | `1` | 有发现,但均低于您的 `--fail-on` 阈值 | | `2` | 发现结果达到或超过阈值 | ### 配置 在 skill 旁边放置一个 `.skill-detector.yml`(或传递 `--config`)以切换规则并将已知安全模式加入白名单。默认设置是合理的;大多数用户只需要配置来抑制误报。 ## 对比 市面上已经有很棒的安全扫描器 —— 为什么还需要另一个? | 工具 | 为什么不直接用它来扫描 skills? | | ---------- | -------------------------------------------------------------------------------------------------- | | **semgrep**| 通用模式引擎 —— 功能强大,但 *您* 需要自己编写规则。`skill-detector` 内置了针对 skills 的规则。 | | **gitleaks**| 范围较窄 —— 仅检测凭据。不涵盖提示注入、权限不匹配、数据外泄。 | | **trivy** | 容器 / OS 包中的 CVE —— 这是一个与 skill 语义不同的问题。 | | **gosec** | 扫描 Go 源代码。Skills 是 YAML + Markdown + shell,不是 Go。 | 简而言之:当您扫描的对象是 AI skill 包,并且想要开箱即用的、理解 skill 清单语义的规则时,请使用 `skill-detector`。 ## 报告安全问题 如果您在 `skill-detector` 本身(而不是它扫描的 skill)中发现漏洞,请提交 [私有安全建议](https://github.com/velzepooz/skill-detector/security/advisories/new) ,而不是公开 issue。 ## 许可证 [MIT](./LICENSE) — 随意使用,不提供任何担保。
标签:AI安全, Anthropic Claude, Chat Copilot, CISA项目, CLI, DevSecOps, EVTX分析, Go语言, Prompt注入, WiFi技术, 上游代理, 云安全监控, 安全扫描, 搜索语句(dork), 数据泄露防护, 文档结构分析, 日志审计, 时序注入, 程序破解, 第三方组件, 网络探测, 零日漏洞检测, 静态分析, 风险识别