通用 AI 机器人克隆技能(安全加固版 v2.0)。支持导出/导入配置,ZIP Slip 防护,元数据脱敏,敏感文件自动排除。用于 A→B 能力复制、团队共享、备份恢复。
AI 机器人克隆技能 v2.0(安全加固版)是一项面向实际任务的技能,主要用于任何 AI 机器人都可以使用的克隆工具;🔒 安全特性(v2.0 新增);
固定临时目录;使用 tempfile.TemporaryDirectory;元数据路径泄露;默认脱敏(可配置);文档代码不一致;统一命令参数;敏感文件无保护;自动排除 .env。
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
任何 AI 机器人都可以使用的克隆工具
| 问题 | 风险等级 | 修复方案 |
|---|---|---|
| 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
│ │
▼ ▼
任何机器人执行以下命令导出自己:
# 基本导出(推荐) 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(邮件/网盘/聊天工具)
收到克隆包后执行:
# 预览包内容(不执行导入) 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/ |
文档资料 |
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 覆盖系统文件# ❌ 旧版本(不安全)
temp_dir = Path("/tmp/ai-clone-temp")
# ✅ 新版本(安全)
with tempfile.TemporaryDirectory(prefix="ai-clone-") as temp_dir:
# 自动清理,防竞争条件
...
优势:
# ❌ 旧版本(泄露路径)
metadata = {
"source_workspace": "/home/admin/.openclaw/workspace"
}
# ✅ 新版本(脱敏)
metadata = {
"source_workspace_name": "workspace", # 仅目录名
"security_version": "hardened"
}
保护内容:
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 文件元数据
--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
.env, *.key, *.secret 等❌ 不安全路径:../../../etc/passwd
原因: 克隆包可能包含恶意文件
解决: 拒绝导入,联系发送者重新打包
❌ 警告:未找到任何核心配置文件
原因: 不在正确的 workspace 目录
解决: 使用 --source 指定正确路径
⚠️ 元数据包含绝对路径
原因: 使用了 --keep-paths 参数
解决: 重新导出,不使用该参数
技能版本:2.0.0
安全版本:hardened
创建时间:2026-03-04
安全更新:2026-03-06
机器猫 🐱 开发
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章