ClawSkills logoClawSkills

OpenClaw Security Hardening

保护 OpenClaw 安装免受提示注入、数据窃取、恶意技能和工作区篡改。

介绍

# OpenClaw Security Hardening

一个用于保护 OpenClaw 安装环境的综合安全工具包,可防范通过恶意技能文件、提示注入、数据泄露和工作区篡改进行的攻击。

## 威胁模型

本技能可防范以下威胁:

| 威胁 | 描述 | 工具 | |--------|-------------|------| | **提示注入** | 包含旨在覆盖系统提示、忽略安全规则或操控代理行为的指令的恶意技能 | `scan-skills.sh` | | **数据泄露** | 指示代理将敏感数据(凭据、记忆、配置)发送到外部端点的技能 | `audit-outbound.sh` | | **技能篡改** | 在初始审核后对已安装技能进行未经授权的修改 | `integrity-check.sh` | | **工作区暴露** | 权限错误的敏感文件、缺失 .gitignore 规则、不安全的网关配置 | `harden-workspace.sh` | | **供应链** | 安装包含隐藏恶意模式的新技能 | `install-guard.sh` |

## 快速开始

```bash # Run a full security scan of all installed skills ./scripts/scan-skills.sh

# Audit outbound data flow patterns ./scripts/audit-outbound.sh

# Initialize integrity baseline ./scripts/integrity-check.sh --init

# Harden your workspace ./scripts/harden-workspace.sh --fix

# Check a new skill before installing ./scripts/install-guard.sh /path/to/new-skill/ ```

## 工具

### 1. `scan-skills.sh` — 技能文件扫描器

扫描所有已安装的技能文件,查找恶意模式,包括提示注入、数据泄露尝试、可疑 URL、隐藏的 Unicode 字符、混淆命令和社会工程手段。

**用法:** ```bash # Scan all skill directories ./scripts/scan-skills.sh

# Scan a specific directory only ./scripts/scan-skills.sh --path /path/to/skills/

# Output as JSON for automation ./scripts/scan-skills.sh --json

# Show help ./scripts/scan-skills.sh --help ```

**它检测的内容:** - 提示注入模式(覆盖指令、新的系统提示、管理员覆盖) - 数据泄露(向外部 URL 发起 curl/wget 请求,发送文件内容) - 可疑 URL(webhooks、pastebin、requestbin、ngrok 等) - 可能隐藏指令的 Base64 编码内容 - 隐藏的 Unicode 字符(零宽空格、RTL 覆盖、同形异义字) - 对敏感文件的引用(.env、凭据、API 密钥、令牌) - 修改系统文件的指令(AGENTS.md、SOUL.md) - 混淆命令(十六进制编码、Unicode 转义) - 社会工程手段(“不要告诉用户”、“秘密地”、“不提及”)

**严重级别:** - 🔴 **严重 (CRITICAL)** — 可能是恶意的,需要立即采取行动 - 🟡 **警告 (WARNING)** — 可疑,需手动审查 - 🔵 **信息 (INFO)** — 值得注意但可能是良性的

---

### 2. `integrity-check.sh` — 技能完整性监控器

创建所有技能文件的 SHA256 哈希基线,并检测未经授权的修改。

**用法:** ```bash # Initialize baseline (first run) ./scripts/integrity-check.sh --init

# Check for changes (run periodically) ./scripts/integrity-check.sh

# Update baseline after reviewing changes ./scripts/integrity-check.sh --update

# Check specific directory ./scripts/integrity-check.sh --path /path/to/skills/

# Show help ./scripts/integrity-check.sh --help ```

**报告:** - ✅ 未更改的文件 - ⚠️ 已修改的文件(哈希不匹配) - 🆕 新文件(不在基线中) - ❌ 已删除的文件(在基线中但丢失)

**自动化:** 添加到心跳或 crontab 中每天运行: ```bash # In HEARTBEAT.md or cron 0 8 * * * /path/to/scripts/integrity-check.sh 2>&1 | grep -E '(MODIFIED|NEW|REMOVED)' ```

---

### 3. `audit-outbound.sh` — 出站数据流审计器

扫描技能文件中可能导致数据离开本机的模式。

**用法:** ```bash # Audit all skills ./scripts/audit-outbound.sh

# Audit specific directory ./scripts/audit-outbound.sh --path /path/to/skills/

# Show whitelisted domains ./scripts/audit-outbound.sh --show-whitelist

# Add domain to whitelist ./scripts/audit-outbound.sh --whitelist example.com

# Show help ./scripts/audit-outbound.sh --help ```

**检测内容:** - 嵌入在技能指令中的 HTTP/HTTPS URL - 对 curl、wget、fetch、web_fetch、browser navigate 的引用 - 发送电子邮件/消息/webhook 的指令 - 指令中的原始 IP 地址 - 非白名单外部域

---

### 4. `harden-workspace.sh` — 工作区加固器

检查并修复 OpenClaw 工作区中常见的安全配置错误。

**用法:** ```bash # Check only (report issues) ./scripts/harden-workspace.sh

# Auto-fix safe issues ./scripts/harden-workspace.sh --fix

# Show help ./scripts/harden-workspace.sh --help ```

**检查项:** - 敏感文件(MEMORY.md、USER.md、SOUL.md、凭据)的文件权限 - 针对敏感模式的 .gitignore 覆盖范围 - 网关身份验证配置 - DM(直接消息)策略设置 - 版本控制文件中的敏感内容

---

### 5. `install-guard.sh` — 预安装安全守门

在安装任何新技能之前运行,以检查恶意内容。

**用法:** ```bash # Check a skill before installing ./scripts/install-guard.sh /path/to/new-skill/

# Strict mode (fail on warnings too) ./scripts/install-guard.sh --strict /path/to/new-skill/

# Show help ./scripts/install-guard.sh --help ```

**检查项:** - scan-skills.sh 中的所有模式 - 脚本中的危险 Shell 模式(rm -rf、curl|bash、eval 等) - 可疑的 npm 依赖项(如果存在 package.json) - 退出代码 0 = 安全,1 = 可疑(用于 CI/自动化)

---

## 安全规则模板

将 `assets/security-rules-template.md` 复制到您的 `AGENTS.md` 中,以为您的代理添加运行时安全规则。这些规则指示代理拒绝提示注入尝试并保护敏感数据。

```bash cat assets/security-rules-template.md >> /path/to/AGENTS.md ```

## 推荐设置

1. **初始设置:** ```bash ./scripts/scan-skills.sh # Scan existing skills ./scripts/audit-outbound.sh # Audit outbound patterns ./scripts/integrity-check.sh --init # Create baseline ./scripts/harden-workspace.sh --fix # Fix workspace issues ```

2. **根据模板将安全规则添加到 AGENTS.md**

3. **安装新技能之前:** ```bash ./scripts/install-guard.sh /path/to/new-skill/ ```

4. **定期检查**(添加到心跳或 crontab): ```bash ./scripts/integrity-check.sh # Detect tampering ./scripts/scan-skills.sh # Re-scan for new patterns ```

更多产品