velzepooz/skill-detector
GitHub: velzepooz/skill-detector
专用于检测AI技能包安全风险的命令行工具,能扫描注入、数据外泄及供应链威胁,帮助用户在使用第三方技能前识别潜在恶意代码。
Stars: 2 | Forks: 0
# skill-detector
[](https://github.com/velzepooz/skill-detector/actions/workflows/ci.yml)
[](https://github.com/velzepooz/skill-detector/releases/latest)
[](./LICENSE)
[](./go.mod)
[](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), 数据泄露防护, 文档结构分析, 日志审计, 时序注入, 程序破解, 第三方组件, 网络探测, 零日漏洞检测, 静态分析, 风险识别