Install
openclaw skills install @fyniujin/skill-security-checkerSkill Security — 安全审计扫描器,帮助你快速发现 Skill 中的安全风险。静态扫描(提示注入/命令注入/SSRF/凭证外泄/路径遍历/危险函数)、依赖漏洞审计、权限审计、质量评分、JSON/HTML 报告生成。
openclaw skills install @fyniujin/skill-security-checker一键扫描 Skill 安全风险,发布前最后一道安全闸门。
本工具用于对 WorkBuddy / ClawHub / SkillHub 平台上发布的安全技能进行全方位安全合规扫描。它能帮你快速找出代码中的安全漏洞、不安全的依赖项、过度授权的权限配置,并以直观的评分等级和修复建议输出结果。
适用场景:
检测 Skill 文件中的安全漏洞:
| 风险类型 | 检测内容 | 严重度 |
|---|---|---|
| 提示注入 | 越狱指令、"忽略原始指令"、"覆盖系统提示"等文本 | 🔴 严重 |
| 命令注入 | curl/wget 管道执行、反引号替换、$() 中执行 shell | 🔴 严重 |
| SSRF/内网访问 | 127.0.0.1、10.x.x.x、192.168.x.x | 🟠 高危 |
| 凭证外泄 | 硬编码 API Key、Token、Password、Bearer Token | 🔴 严重 |
| 路径遍历 | ../、URL 编码绕过、绝对路径访问 | 🟠 高危 |
| 危险函数 | eval()、exec()、os.system()、pickle.load() | 🟡 中等 |
扫描 requirements.txt、package.json、Pipfile、pyproject.toml 等依赖文件,与内置的已知 CVE 漏洞库比对。
目前覆盖 26 个常见高危依赖的已知漏洞:
requests、urllib3、flask、django、numpy、pillow、pyyaml、jinja2、cryptography、aiohttp、tqdm、setuptools、node-fetch、minimist、lodash、axios、express、vue、react、webpack、moment、npm、tough-cookie、word-wrap、protobuf、eslint
检查 allowed-tools 声明是否有过度授权:
检查 SKILL.md 文档的完整性:
| 检查项 | 要求 |
|---|---|
| 必要字段 | name、description、version |
| 命名规范 | kebab-case(小写字母+数字+连字符) |
| description 长度 | 20-1024 字符 |
| 版本号格式 | 语义化版本 (e.g., 1.0.0) |
| 硬编码路径 | 检测 D:\ 等绝对路径 |
| 错误处理 | 文档中需提及异常处理策略 |
自动检测当前设备的 CPU 核心数和可用内存,动态调整并发工作线程数(1-8 线程),在扫描速度和系统性能之间取得平衡。
检测逻辑:
工具运行时会自动检查 GitHub 上的新版本,发现更新时会在结果中提示用户升级。
--skip-update 参数可完全关闭此功能# nosec 内联排除规则(新增)如果你确认某行代码是安全的,但触发了误报,可在该行末尾添加 # nosec 注释,扫描器将自动跳过该行。
# 这行会被扫描器跳过
os.system('ls') # nosec
# 扫描一个 Skill 目录(文本输出)
python D:\skill\skill-security-checker\scripts\audit.py "D:\skill\你的技能名"
# 生成 JSON 报告
python D:\skill\skill-security-checker\scripts\audit.py "D:\skill\你的技能名" --format json
# 生成 HTML 报告并保存为文件
python D:\skill\skill-security-checker\scripts\audit.py "D:\skill\你的技能名" --format html -o report.html
# 跳过更新检查
python D:\skill\skill-security-checker\scripts\audit.py "D:\skill\你的技能名" --skip-update
直接告诉 WorkBuddy,触发词覆盖面广:
帮我安全审计 D:\skill\my-skill扫描这个 skill 有没有安全问题发布前帮我检查一遍 my-skill帮我对这个路径做一份安全检测对 D:\skill\project 做代码审计这个 skill 安全吗评分从 100 分开始扣分,不同等级对应不同发布建议:
| 等级 | 分数区间 | 发布建议 | 含义 |
|---|---|---|---|
| 🟢 A | 90-100 | ✅ 可安全发布 | 优秀 |
| 🟣 B | 75-89 | ⚠️ 建议修复后发布 | 良好 |
| 🟡 C | 60-74 | ⚠️ 需要修复 | 一般 |
| 🟠 D | 40-59 | ❌ 不建议发布 | 较差 |
| 🔴 F | 0-39 | ❌ 禁止发布 | 危险 |
| 退出码 | 含义 | CI 行为建议 |
|---|---|---|
| 0 | 无问题或仅低危 | ✅ 通过 |
| 1 | 存在中等问题 | ⚠️ 警告 |
| 2 | 存在严重/高危问题 | ❌ 失败,阻断发布 |
以下内容将被自动跳过,不参与扫描,不计入风险:
.bat、.cmd、.ps1、.vbs、.exe、.dll、.msi、.sh、.com、.scr、.hta、.reg.docx、.xlsx、.pptx、.doc、.xls、.ppt、.xlsm、.docm、.pptm.iso、.dmg、.zip、.rar、.7z、.tar、.gz、.apk、.jar.DS_Store、.pyc、.pyo、.so、.swp、.env、.log、.tmp__pycache__、.git、.venv、.pytest_cache、node_modules、.idea、.vscode
============================================================
Skill Security Audit Report
============================================================
Skill: my-cool-skill
Path: D:\skill\my-cool-skill
Time: 2026-07-13T14:32:10
Files: 15 scanned, 2 skipped
============================================================
Score: 82/100 (Grade: B)
Found 2 medium issues.
──────────────────────────────────────────────────────────
[MED] quality_check SKILL.md Missing version field
[MED] quality_check SKILL.md No error handling mentioned
──────────────────────────────────────────────────────────
Fix suggestions:
[quality_check] Add version field in frontmatter
[quality_check] Add error handling docs in SKILL.md
Feedback: njskills@agent.qq.com
============================================================
Q: 扫描会很慢吗?需要联网吗?
A: 扫描本身不会慢。工具会自动检测你的 CPU 核心数和可用内存,动态调整并行数(1-8 线程),在本地离线完成扫描,不联网也不会影响结果。可选的更新检查(24 小时缓存)可以通过 --skip-update 关闭。
Q: 扫描结果为 F 等级怎么办? A: 请按照输出的修复建议逐一修复问题,特别是严重和高危问题。修复后可重新扫描确认分数是否提升。常见修复步骤:
.env 或环境变量eval()/exec()/os.system() → 使用 subprocess.run() 并关闭 shell=TrueQ: 报告说发现了命令注入,但我只是在说明文档中写了代码示例?
A: 代码示例中如果包含了 curl、wget、shell 等相关关键词,会被模式匹配命中。这是预期行为——请在代码示例末尾添加 # nosec 注释即可跳过该行。
Q: 这个工具支持扫描 Python 以外的文件吗?
A: 支持。除了 .py 文件,还可以扫描 .js、.ts、.json、.yaml、.md、.html 等所有文本格式文件。Office 文档和可执行文件会被自动跳过。
Q: 检测出误报怎么办? A: 主要有两种方式:
# nosec 注释Q: 用于公司 CI/CD 流水线,需要安装什么依赖吗? A: 不需要。本工具只需要 Python 3.8+ 标准库,无第三方依赖。可集成到 GitHub Actions、GitLab CI、Jenkins 等任意 CI 平台。
如有误报反馈、规则改进建议或功能需求,欢迎联系:
你的反馈将直接帮助我们升级规则库,完善检测能力。
| v1.3.0 | 2026-07-13 | 修复:base64 编码的命令注入模式中有两个模式解码后正则表达式括号不匹配导致扫描报错;修复:CVE 列表中 protobuf 的 CVE 编号错误;增加:24 小时缓存的更新检查机制避免频繁联网请求;增加:# nosec 内联注释排除规则降低误报;优化:依赖库覆盖范围从 17 个扩展到 26 个常见高危依赖;优化:错误信息改为更友好的中文提示;优化:扫描输出显示优化减少信息密度过高的问题;优化:新增详细说明文档和常见问答 | v1.2.0 | 2026-07-13 | 增加:硬件感知并行度自动调整功能,根据 CPU/内存动态分配线程数;增加:更新检查功能自动提示新版本;优化:依赖审计支持 pyproject.toml 和 Pipfile 格式;修复:凭证外泄检测正则表达式中转义字符导致扫描崩溃的问题 | v1.1.0 | 2026-07-13 | 增加:依赖漏洞审计模块;增加:质量评分维度(包含 SKILL.md 完整性检查);优化:评分算法改为按严重度区分扣分权重;优化:HTML 报告增加统计卡片和响应式布局 | v1.0.0 | 2026-07-13 | 初始版本发布,包含静态扫描、权限审计、结构检查、JSON/HTML 报告生成