通用 AI 机器人克隆技能(安全加固版 v2.0)。支持导出/导入配置,ZIP Slip 防护,元数据脱敏,敏感文件自动排除。用于 A→B 能力复制、团队共享、备份恢复。
AI 机器人克隆技能 v2.0(安全加固版)
功能概述
AI 机器人克隆技能 v2.0(安全加固版)是一项面向实际任务的技能,主要用于任何 AI 机器人都可以使用的克隆工具;🔒 安全特性(v2.0 新增);
核心要点
- 已修复的安全问题;
- ZIP Slip 漏洞;
- 路径验证 + 规范化检查;
使用与执行
固定临时目录;使用 tempfile.TemporaryDirectory;元数据路径泄露;默认脱敏(可配置);文档代码不一致;统一命令参数;敏感文件无保护;自动排除 .env。
结果检查与注意事项
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
AI 机器人克隆技能 v2.0(安全加固版)
任何 AI 机器人都可以使用的克隆工具
🔒 安全特性(v2.0 新增)
已修复的安全问题
| 问题 | 风险等级 | 修复方案 |
|---|---|---|
| ZIP Slip 漏洞 | 🔴 高危 | 路径验证 + 规范化检查 |
| 固定临时目录 | 🟡 中危 | 使用 tempfile.TemporaryDirectory |
| 元数据路径泄露 | 🟡 中危 | 默认脱敏(可配置) |
| 文档代码不一致 | 🟢 低危 | 统一命令参数 |
| 敏感文件无保护 | 🟡 中危 | 自动排除 .env, *.key 等 |
安全验证
# 导入前验证克隆包 python scripts/clone_robot.py verify clone-package.zip
🎯 核心流程
┌─────────────┐ ┌─────────────┐
│ 机器人 A │ │ 机器人 B │
│ (源) │ │ (目标) │
└──────┬──────┘ └──────┬──────┘
│ │
│ 1. 使用技能导出配置 │
│ → clone-package.zip │
│ │
├─────────────────────────────────>│
│ 传输文件 │
│ │
│ │ 2. 使用技能导入配置
│ │ ← clone-package.zip
│ │
▼ ▼
📦 机器人 A:导出配置
任何机器人执行以下命令导出自己:
# 基本导出(推荐) python scripts/clone_robot.py export # 指定输出文件名 python scripts/clone_robot.py export --output my-clone-package.zip # 指定源目录 python scripts/clone_robot.py export --source /path/to/workspace # 不包含可选目录(仅核心文件) python scripts/clone_robot.py export --no-optional # 额外排除文件 python scripts/clone_robot.py export --exclude "*.env" "secrets/" # 保留完整路径(默认脱敏) python scripts/clone_robot.py export --keep-paths
输出示例:
📦 导出配置... 源:/home/admin/.openclaw/workspace 📋 扫描工作区... ✅ SOUL.md (2.1KB) ✅ IDENTITY.md (1.5KB) ✅ USER.md (892B) ✅ MEMORY.md (3.2KB) ✅ HEARTBEAT.md (1.8KB) ✅ TOOLS.md (0.9KB) ✅ AGENTS.md (7.7KB) 📋 准备临时文件... 临时目录:/tmp/ai-clone-xyz123 ✅ SOUL.md ✅ IDENTITY.md ... ℹ️ 元数据已脱敏(不包含绝对路径) ✅ clone_metadata.json 🗜️ 打包为 clone-package-20260306-185500.zip... ✅ 导出完成! 文件:clone-package-20260306-185500.zip 大小:9.1KB 包含:7 个核心文件 安全版本:hardened v2.0
然后: 把 clone-package.zip 发给机器人 B(邮件/网盘/聊天工具)
📥 机器人 B:导入配置
收到克隆包后执行:
# 预览包内容(不执行导入) python scripts/clone_robot.py import clone-package.zip --preview # 验证安全性 python scripts/clone_robot.py verify clone-package.zip # 导入配置(需要确认) python scripts/clone_robot.py import clone-package.zip # 跳过确认直接导入 python scripts/clone_robot.py import clone-package.zip --force # 指定目标目录 python scripts/clone_robot.py import clone-package.zip --target /path/to/workspace
输出示例:
🔍 验证 ZIP 包安全性... ✅ 安全性检查通过 📥 导入配置... 包:clone-package.zip 目标:/home/admin/.openclaw/workspace 📋 克隆包信息: 创建时间:2026-03-06T18:55:00.123456 安全版本:hardened 文件数量:7 📋 即将导入以下文件: ✅ SOUL.md ✅ IDENTITY.md ✅ USER.md ✅ MEMORY.md ✅ HEARTBEAT.md ✅ TOOLS.md ✅ AGENTS.md ⚠️ 注意:这将覆盖目标目录的现有文件! 使用 --force 跳过确认 确认导入?(y/N): y 📥 正在导入... ✅ SOUL.md ✅ IDENTITY.md ... ✅ 导入完成! 目标:/home/admin/.openclaw/workspace 导入:7 个文件 🎉 机器人已成功复制配置! 安全版本:hardened v2.0
📋 核心配置文件
克隆脚本会自动识别和复制以下文件:
必选文件(核心身份)
| 文件 | 说明 |
|---|---|
SOUL.md |
人格和价值观 |
IDENTITY.md |
机器人身份定义 |
USER.md |
用户信息 |
MEMORY.md |
长期记忆 |
HEARTBEAT.md |
任务机制 |
TOOLS.md |
本地工具配置 |
AGENTS.md |
Agent 配置 |
可选目录(能力和资产)
| 目录 | 说明 |
|---|---|
memory/ |
每日记忆文件 |
skills/ |
技能包 |
scripts/ |
自动化脚本 |
projects/ |
项目文档 |
docs/ |
文档资料 |
🔒 安全机制详解
1. ZIP Slip 防护
def is_path_safe(path_str: str) -> bool:
# 拒绝绝对路径
if os.path.isabs(path_str):
return False
# 拒绝路径遍历
if ".." in path_str.split(os.sep):
return False
# 规范化路径并再次检查
normalized = os.path.normpath(path_str)
if normalized.startswith("..") or os.path.isabs(normalized):
return False
return True
防护效果:
- ✅ 阻止
../../../etc/passwd等路径遍历攻击 - ✅ 阻止绝对路径
/etc/passwd覆盖系统文件 - ✅ 双重验证(原始 + 规范化)
2. 临时目录安全
# ❌ 旧版本(不安全)
temp_dir = Path("/tmp/ai-clone-temp")
# ✅ 新版本(安全)
with tempfile.TemporaryDirectory(prefix="ai-clone-") as temp_dir:
# 自动清理,防竞争条件
...
优势:
- ✅ 随机临时目录名(防预测)
- ✅ 自动清理(防残留)
- ✅ 原子操作(防竞争)
3. 元数据脱敏
# ❌ 旧版本(泄露路径)
metadata = {
"source_workspace": "/home/admin/.openclaw/workspace"
}
# ✅ 新版本(脱敏)
metadata = {
"source_workspace_name": "workspace", # 仅目录名
"security_version": "hardened"
}
保护内容:
- ✅ 隐藏完整文件系统路径
- ✅ 隐藏用户名
- ✅ 隐藏操作系统信息
4. 敏感文件自动排除
DEFAULT_EXCLUDE_PATTERNS = [
".env", # 环境变量
"*.key", # 密钥文件
"*.secret", # 敏感文件
"*.pem", "*.crt", # 证书文件
# ... 更多
]
SENSITIVE_PATTERNS = [
"*api_key*",
"*apikey*",
"*secret*",
"*password*",
"*credential*",
]
🔧 命令参考
导出配置
python scripts/clone_robot.py export [选项] 选项: --source PATH 源工作区路径 --output FILE 输出文件名 --exclude PATTERN 额外排除的文件/目录(可重复) --no-optional 不包含可选目录 --keep-paths 在元数据中保留完整路径(默认脱敏)
导入配置
python scripts/clone_robot.py import PACKAGE [选项] 选项: --target PATH 目标工作区路径 --preview 预览包内容(不执行导入) --force 跳过确认直接导入
验证安全
python scripts/clone_robot.py verify PACKAGE 验证项: ✅ ZIP Slip 检查 ✅ 绝对路径检查 ✅ 可疑文件检查
⚠️ 安全注意事项
导入前的检查清单
验证来源
- 克隆包来自可信来源
- 已验证发送者身份
安全验证
- 运行
verify命令检查 - 查看包内文件列表(
--preview)
- 运行
环境隔离
- 在测试环境首次导入
- 备份现有配置
导出前的检查清单
敏感信息
- 检查是否包含
.env文件 - 检查是否包含 API Keys
- 检查是否包含证书文件
- 检查是否包含
元数据
- 使用默认脱敏(
--redact-metadata) - 或手动指定
--keep-paths(谨慎)
- 使用默认脱敏(
文件审查
- 使用
unzip -l clone-package.zip查看内容 - 确认无意外文件
- 使用
🧪 验证克隆
部署后运行验证:
# 1. 检查核心文件 ls -la SOUL.md IDENTITY.md USER.md MEMORY.md # 2. 验证记忆文件 cat MEMORY.md | head -20 # 3. 检查技能包 ls skills/ # 4. 启动测试 openclaw status
📊 克隆报告示例
📋 检查核心配置文件... ✅ SOUL.md (2.1KB) ✅ IDENTITY.md (1.5KB) ✅ USER.md (892B) ✅ MEMORY.md (3.2KB) ✅ HEARTBEAT.md (1.8KB) 📁 检查可选目录... ✅ memory/ (15 文件,45.3KB) ✅ skills/ (8 技能,1.2MB) ✅ scripts/ (23 文件,156.7KB) 📊 扫描完成: 机器人:machine-cat 核心文件:7 个 可选目录:3 个 总大小:1.4MB 📦 创建克隆包... 源:/home/admin/.openclaw/workspace 目标:machine-cat-clone.zip ✅ 克隆包创建成功! 文件:machine-cat-clone.zip 大小:456.2KB 安全版本:hardened v2.0
🔄 版本历史
v2.0.0 (2026-03-06) - 安全加固版
- 🔒 修复 ZIP Slip 漏洞 - 路径验证 + 规范化检查
- 🔒 使用 tempfile.TemporaryDirectory - 替代固定临时路径
- 🔒 元数据脱敏 - 默认隐藏绝对路径
- 🔒 敏感文件自动排除 -
.env,*.key,*.secret等 - 📝 文档代码统一 - 所有命令参数一致
- ✅ 新增 verify 命令 - 导入前验证克隆包
v1.0.0 (2026-03-04) - 初始版本
- ✅ 基础导出/导入功能
- ✅ 核心配置文件识别
- ✅ 临时目录清理
🆘 故障排查
问题 1:导入时提示"不安全路径"
❌ 不安全路径:../../../etc/passwd
原因: 克隆包可能包含恶意文件
解决: 拒绝导入,联系发送者重新打包
问题 2:找不到核心配置文件
❌ 警告:未找到任何核心配置文件
原因: 不在正确的 workspace 目录
解决: 使用 --source 指定正确路径
问题 3:元数据包含敏感路径
⚠️ 元数据包含绝对路径
原因: 使用了 --keep-paths 参数
解决: 重新导出,不使用该参数
技能版本:2.0.0
安全版本:hardened
创建时间:2026-03-04
安全更新:2026-03-06
机器猫 🐱 开发
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章