🧪 Skills

skill scan and detect risk

OpenClaw扩展安全管理系统。扫描已安装扩展的安全风险,提供allowlist策略控制,在使用高风险扩展前进行风险提示。适用于安全管理、风险评估、权限控

v1.0.0
❤️ 1
⬇️ 59
👁 1
Share

Description


name: skill-shield description: "OpenClaw扩展安全管理系统。扫描已安装扩展的安全风险,提供allowlist策略控制,在使用高风险扩展前进行风险提示。适用于安全管理、风险评估、权限控制场景。" metadata: { "openclaw": { "emoji": "🛡️", "requires": { "bins": ["python3"] } } }

Skill Shield - OpenClaw扩展安全管理系统

概述

安全管理已安装的OpenClaw扩展,扫描风险、存储风险列表、提供allowlist策略控制,确保在使用高风险扩展前进行风险提示和用户确认。

核心功能

  1. 自动扫描:扫描所有已安装的扩展,识别安全风险
  2. 风险评估:基于代码分析识别10种常见安全风险
  3. Allowlist管理:配置默认信任的扩展,跳过风险检查
  4. 黑名单管理:阻止危险扩展执行
  5. 风险提示:使用高风险扩展前提示用户确认
  6. 持久存储:保存风险报告到memory,支持历史查询

风险类别

风险ID 风险名称 严重程度 检测关键词
R001 网络访问 requests, curl, fetch, urllib, http, socket
R002 文件写入 write, create, save, mkdir, rmdir, unlink
R003 文件读取 read, open, cat, glob, listdir
R004 命令执行 严重 exec, subprocess, shell, spawn, Popen, system
R005 外部API api, webhook, endpoint, send, notify, post, get
R006 数据外发 严重 upload, send, transfer, export, forward
R007 凭证访问 严重 apiKey, password, token, secret, credential, auth
R008 无签名验证 无_meta.json文件
R009 依赖未知 requirements.txt, package.json, dependencies
R010 权限过宽 chmod 777, allowlist, full

使用方法

扫描所有扩展

执行skill-shield扫描所有已安装的扩展

检查特定扩展

执行skill-shield检查<extension-name>的风险

添加到Allowlist

执行skill-shield添加<extension-name>到allowlist

从Allowlist移除

执行skill-shield移除<extension-name>从allowlist

添加到黑名单

执行skill-shield添加<extension-name>到黑名单

查看风险报告

执行skill-shield查看风险列表

清除风险记录

执行skill-shield清除风险记录

配置说明

配置文件位置:~/.openclaw/workspace/skills/skill-shield/config.json

{
  "allowlist": ["file-search", "weather-search"],
  "autoApprove": [],
  "blocked": [],
  "scanOnInstall": true,
  "promptOnHighRisk": true
}
  • allowlist: 默认信任的扩展,跳过风险检查
  • autoApprove: 自动批准的扩展(不需要用户确认)
  • blocked: 黑名单,完全阻止执行
  • scanOnInstall: 安装时自动扫描
  • promptOnHighRisk: 高风险时提示用户

数据存储

风险数据库位置:~/.openclaw/workspace/memory/shield-risks.json

{
  "version": "1.0.0",
  "lastScanTime": "2026-03-11T09:45:00Z",
  "skills": {
    "extension-name": {
      "path": "/path/to/extension",
      "risks": ["R001", "R004", "R006"],
      "severity": "severe",
      "scanTime": "2026-03-11T09:45:00Z",
      "userDecision": "approved"
    }
  },
  "allowlist": ["file-search", "weather-search"],
  "history": [
    {
      "extension": "extension-name",
      "action": "blocked",
      "time": "2026-03-11T09:50:00Z"
    }
  ]
}

使用示例

场景1:首次扫描

用户:扫描所有扩展
Agent:🔍 正在扫描9个扩展...
      
      📊 扫描完成!
      🔴 严重: 6
      🟠 高危: 1
      🟡 中危: 0
      🟢 低危/安全: 2
      
      💾 风险报告已保存

场景2:使用高风险扩展

用户:执行a-stock-dragon-tiger
Agent:⚠️ 安全警告
      扩展: a-stock-dragon-tiger
      风险等级: severe
      风险项:
        - R001: 网络访问
        - R004: 命令执行
        - R006: 数据外发
      是否继续? (yes/no):
用户:yes
Agent:✅ 继续执行

场景3:添加到Allowlist

用户:将weather-search添加到allowlist
Agent:✅ 已将weather-search添加到allowlist
      后续使用将不再提示风险

风险等级映射

严重程度 包含风险 用户确认要求
严重 R004, R006, R007 强制确认
R001, R002, R010 强制确认
R003, R005, R009 建议确认
R008 可选确认

技术实现

扫描流程

  1. 遍历~/.openclaw/workspace/skills/目录
  2. 读取每个扩展的SKILL.md、scripts/、references/
  3. 基于关键词匹配识别风险
  4. 计算严重程度等级
  5. 生成风险报告并存储

检查流程

  1. 检查扩展是否在allowlist → 跳过检查
  2. 检查扩展是否在blocked → 阻止执行
  3. 查询风险数据库 → 获取风险信息
  4. 根据严重程度决定是否提示用户
  5. 记录用户决策到历史

安全原则

  • ✅ 所有高风险操作需要用户明确确认
  • ✅ Allowlist中的扩展默认信任
  • ✅ 风险记录持久化存储
  • ✅ 支持审计历史查询
  • ✅ 黑名单完全阻止执行

扩展计划

  • Hook机制:在使用扩展前自动检查
  • 安装时扫描:clawhub install时自动扫描
  • 风险修复建议:提供风险缓解建议
  • 定期报告:每周发送安全报告到飞书

故障排除

扫描失败

# 检查扩展目录权限
ls -la ~/.openclaw/workspace/skills/

# 手动运行扫描
python3 ~/.openclaw/workspace/skills/skill-shield/scripts/shield.py scan

配置文件错误

# 重置配置文件
echo '{}' > ~/.openclaw/workspace/skills/skill-shield/config.json

依赖要求

  • Python 3.6+
  • 无需额外依赖包
  • 标准库:os, re, json, glob, hashlib, pathlib, datetime, argparse, typing

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs