讲师中心 微信公众号
AI工具推荐 视频效率加速

Skill Security Scanner

Polar Sponsor
爱发电 赞助
.NET 9.0

自动检测并评分 ClawHub、GitHub 和本地 Skill 中 JS、TS、Python、Shell 文件的安全风险,识别数据泄露、注入、混淆和木马等威胁。

🔒 Skill Security Scanner

功能概述

🔒 Skill Security Scanner是一项面向实际任务的技能,主要用于企业级 Skill 安全检测工具;自动检测 ClawHub / GitHub / 本地 Skill 的安全风险,支持 JavaScript、TypeScript、Python、Shell 等多种文件类型,基于威胁情报驱动的静态分析引擎 + LLM 语义分析双层检测;

核心要点

  • ⚡ 交互流程(必须遵循);
  • 必须先输出完整静态报告,再询问用户。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

🔒 Skill Security Scanner

企业级 Skill 安全检测工具

自动检测 ClawHub / GitHub / 本地 Skill 的安全风险,支持 JavaScript、TypeScript、Python、Shell 等多种文件类型,基于威胁情报驱动的静态分析引擎 + LLM 语义分析双层检测。

⚡ 交互流程(必须遵循)

用户提出检测请求
     ↓
Agent 运行 scan.sh 执行静态扫描
     ↓
Agent 输出完整安全报告(Markdown 格式)
     ↓
Agent 询问用户是否需要语义分析
     ↓
用户确认后
     ↓
Agent 生成 LLM 语义分析提示(从脚本输出中提取)
     ↓
用户将提示复制给 Agent
     ↓
Agent 执行 LLM 语义分析
     ↓
Agent 输出最终结论

重要原则

  • 必须先输出完整静态报告,再询问用户
  • 必须由用户确认后才生成 LLM 语义分析提示
  • 禁止替用户做决定或跳过询问步骤
  • 完整报告包含:下载信息 → 安全评分 → 风险详情 → 每条风险解释

🎯 核心能力

能力 说明
多文件检测 支持 .js、.ts、.py、.sh 四种文件类型
威胁分类 4 大威胁类别:数据外泄、注入攻击、代码混淆、木马后门
检测规则 57 条精细化检测规则,覆盖 60+ 危险操作特征
智能评分 100 分制安全评分,量化风险等级
LLM 语义分析 静态扫描定位疑似问题,用户确认后生成提示,Agent 执行深度分析
白名单机制 支持用户自定义信任的 Skill
双层检测 静态规则精准定位 → LLM 语义判断真伪

🛡️ 威胁分类体系

分类 代码 风险类型
数据外泄 (EXFIL) EXFIL 凭证访问、私钥泄露、网络后门、HTTP 服务
注入攻击 (INJECTION) INJECTION 命令执行、npx/远程包执行、动态代码执行、提示注入、越狱攻击
代码混淆 (OBFUSCATION) OBFUSCATION Base64 编码、环境触发、隐藏执行、持久化进程
木马后门 (TROJAN) TROJAN 文件删除、凭证读取、进程终止、postinstall 攻击

📊 检测规则清单

威胁类型 规则数 代表性规则
INJECTION 19 cmd-execution、npx-exec、dynamic-exec、prompt-injection、jailbreak、backtick-injection、system-probing、crypto-operation
EXFIL 18 credential-access、vault-access、private-key、network-backdoor、database-access、config-write、wallet-access、port-listening、proxy-tor、git-operation、file-download
TROJAN 14 destructive-delete、process-kill、shell-injection、persistent-timer、archive-exploit、arbitrary-write、deserialize
OBFUSCATION 6 base64、env-trigger、hidden-exec、persistent-shell
合计 57 -

⚡ 快速开始

扫描 ClawHub / GitHub Skill

./scripts/scan.sh https://clawhub.ai/owner/skill-name
./scripts/scan.sh https://github.com/user/repo

扫描本地 Skill

./scripts/scan.sh /path/to/skill
./scripts/scan.sh ~/.openclaw/workspace/skills/crypto-wallet

JSON 格式输出

./scripts/scan.sh --format json https://clawhub.ai/owner/skill-name

批量扫描

./scripts/scan-all.sh

📊 评分标准

评分 等级 建议
80-100 ✅ 安全 可正常使用
30-79 ⚠️ 可疑 建议审查后使用
0-29 🚫 危险 不推荐安装使用

🤖 双层检测机制

第一层:静态扫描

  • 作用:精准定位疑似风险点(规则匹配)
  • 局限:误报率高(工具函数、检测库本身会被标记)
  • 输出:完整安全报告 + 风险详情表格

第二层:LLM 语义分析

  • 触发条件:用户确认后才生成提示
  • 作用:理解代码真实意图,区分恶意行为与正常工具功能
  • 输入:LLM 语义分析提示(包含:风险文件代码 + 上下文)

为什么需要双层?

静态扫描适合找"有没有危险操作",但判断不了"这个危险操作是不是工具本身的功能"。例如:

  • credential-access — 安全工具检测 credential 是正常功能,不是泄露
  • backtick-injection — 可能是 Markdown 转义,不是命令注入
  • npx-exec — 可能是构建/安装脚本,不是运行恶意包

📋 Agent 操作规范

正确流程(必须遵循)

1. 用户:"检测 [skill] 的安全性"

2. Agent 执行:
   bash scripts/scan.sh https://clawhub.ai/owner/skill-name

3. Agent 输出完整报告(包含所有章节)

4. Agent 询问:
   "发现 {N} 个风险,安全评分 {score}/100。
    是否需要我进行 LLM 语义分析来判断这些是真实威胁还是误报?"

5. 用户确认后,Agent 从脚本输出中提取 LLM 语义分析提示,
   执行语义分析并输出结论

6. 用户选择不分析时,Agent 仅输出报告,不追问

禁止行为

  • ❌ 不输出报告就跳过询问直接生成语义分析
  • ❌ 替用户决定要不要分析
  • ❌ 自行调用 API 或外部工具
  • ❌ 修改或删除报告内容
  • ❌ 只输出摘要而非完整报告

报告输出格式

标准模板(完整章节)

🔒 **Skill 安全检测报告**
════════════════════════════════════════════════════════════════════

**Skill 名称:** 
**扫描文件:**  个
**检测问题:**  个

📊 安全评分:✅/⚠️/🚫 /100 — 

🔍 **检测清单:** ✅ 全部威胁分类已检测

| 文件类型 | 状态 |
|----------|------|
| JavaScript (.js) | ✅/➖ 无 |
| TypeScript (.ts) | ✅/➖ 无 |
| Python (.py) | ✅/➖ 无 |
| Shell (.sh) | ✅/➖ 无 |

**🛡️ 威胁检测规则(共 57 项):**
- **EXFIL (18):** credential-access, vault-access...
- **INJECTION (19):** remote-script, cmd-execution...
- **TROJAN (14):** destructive-delete, process-kill...
- **OBFUSCATION (6):** base64, env-trigger...

📊 **检测结果:** 发现  个风险
- 🔴 critical:  个
- 🟠 high:  个
- 🟡 medium:  个

---

**⚠️ 风险详情:**

| # | 分类 | 风险 | 等级 | 文件 |
|:---:|--------|------------------|-----------|------------|
| 1 | <分类> | <风险名> | <等级> | <文件> |

---

**每条风险解释:**
- <风险名> — <解释>

---

✅/⚠️/🚫 **结论:<结论>**

---

⚠️ 发现 {N} 个风险,安全评分 {score}/100。
是否需要我进行 LLM 语义分析来判断这些是真实威胁还是误报?

LLM 语义分析提示格式

当用户确认后,从脚本输出中提取以下内容生成提示:

# Skill 安全语义分析请求

## 任务
你是一位专业的代码安全审计员。请从安全产品角度分析以下 Skill,判断它是否可以安全安装使用。

## 安全评估六维框架

| 维度 | 问题 | 权重 |
|------|------|------|
| **1. 数据透明** | 它访问/发送了什么数据?去了哪里?是否告知用户? | 高 |
| **2. 权限边界** | 申请的权限(网络/文件/进程/环境变量)是否超出声明功能? | 高 |
| **3. 行为透明** | 有没有未声明的偷偷执行行为? | 极高 |
| **4. 供应链风险** | 执行外部包(npx/pip/git)来源可信吗?版本固定吗? | 高 |
| **5. 用户控制** | 用户能随时停止/禁用吗?敏感操作有确认吗? | 中 |
| **6. 成本告知** | 有没有隐性成本(Gas费/算力消耗/付费API)? | 中 |

## 额外判断

如存在以下任一情况,直接标记为 failed:

1. **数据外泄**:向非功能必需的第三方发送用户数据
2. **偷偷执行**:在用户不知情时执行额外行为
3. **权限超出**:申请的权限超出 Skill 声明的功能范围
4. **供应链攻击**:执行来源不明的外部包
5. **用户无控制**:无法停止、或停止后自动重启
6. **成本不透明**:产生用户无法预估的成本

## 分析要求

请按以下格式输出:

### 1. 六维评估
- **[维度名]**:[通过/关注/警告] — [简要说明]

### 2. 总体评估
- 语义检测结果:✅ passed / ⚠️ failed / 🚫 failed
- 理由:综合六维判断,给出整体结论

### 3. 逐文件分析

对每个有风险的文件,以表格形式输出:

| 风险 | 判断 | 说明 | 越界行为 |
|------|------|------|---------|
| [风险名] | ✅误报/⚠️低风险/🚨真实威胁 | [详细解释] | ⚠️ 维度X+Y / 无明显越界行为 |

### 4. 最终建议
- 是否可以安装使用?
- 需要注意什么?

## 静态扫描报告
[从脚本输出中提取风险表格 + 相关文件代码]

触发方式

当用户提出以下问题时触发检测流程:

类型 触发短语
扫描检测 "扫描 [链接/名称] 的安全性"
"检测一下 [skill名称]"
"帮我扫描一下这个 skill"
风险询问 "[skill] 有风险吗"
"这个 skill 安全吗"
"检查 [链接] 是否有安全问题"
安全评估 "评估一下 [名称] 的安全性"
"[skill] 会不会有恶意代码"

JSON 输出格式

./scripts/scan.sh --format json 
{
  "skill": "example-skill",
  "score": 55,
  "files": 3,
  "issues": [
    {"category":"INJECTION","rule":"backtick-injection","level":"critical","file":"handler.js","snippet":"backtick"}
  ]
}

白名单管理

# 添加到白名单
./scripts/scan.sh --whitelist-add skill-name

# 从白名单移除
./scripts/scan.sh --whitelist-remove skill-name

# 查看白名单
./scripts/scan.sh --whitelist-list

文件结构

skill-security-scanner/
├── SKILL.md              # 本文档
├── scripts/
│   ├── scan.sh          # 核心扫描脚本
│   └── scan-all.sh      # 批量扫描脚本
├── references/
│   ├── rules.md         # 详细检测规则
│   └── dangerous-commands.md  # 危险命令列表
└── whitelist.txt         # 白名单文件(自动创建)

版本历史

版本 日期 更新内容
v1.0 - 基础命令注入检测
v2.0 - 混淆检测、间接执行、依赖审计
v3.0 2026-03-18 整合 ClawHub jax 规则(AI投毒、木马检测)
v4.0 2026-03-18 威胁分类、完整报告规范、JSONL 输出
v4.1 2026-03-21 新增 LLM 语义分析提示生成(解决静态扫描误报)
v4.3 2026-03-21 重构 LLM 语义分析 prompt:引入安全评估六维框架 + 六维额外判断标准(数据透明/权限边界/行为透明/供应链风险/用户控制/成本告知);修复文件内容重复输出 bug
目录

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

0

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn