安全扫描
OpenClaw
安全
medium confidence该技能的说明与要求与其既定用途(通过本地 checkpoint 文件保存并恢复工作流进度)一致,但它使用了无作用域的文件 I/O,且未提供针对敏感数据的内置保护,因此在安装前请确认 checkpoint 的存储方式与位置。
评估建议
该技能似乎实现了本地 checkpoint,内部一致,但在安装前:
1)询问平台 memory/checkpoints 的持久化位置(临时沙箱 vs. 持久化主机磁盘)以及谁能读取这些文件。
2)确认 checkpoint 文件是否静态加密,ACL 或租户隔离是否阻止其他 agent 或用户读取。
3)使用技能时避免或过滤敏感输入(SKILL.md 已警告但未强制)。
4)要求保留/清理策略(旧 checkpoint 可能泄露数据)。
5)先在非敏感工作流上测试以验证行为。
如需更强保障,请要求扩展技能:
- 白名单允许路径
- 编辑或加密保存的输出
- 文档化恢复验证步骤及工件验证限制
若平台无法保证沙箱文件写入和严格访问控制,请将 checkpoint 文件视为可能被他人读取。...详细分析 ▾
✓ 用途与能力
名称/描述(workflow checkpointing)与 SKILL.md 一致:说明如何读写本地 JSON 检查点文件,追踪步骤状态、输出、产物,并恢复工作流。未请求无关二进制文件、凭据或安装。
ℹ 指令范围
说明明确指示智能体在 memory/checkpoints/<workflow>.json 读写文件,并在任意文件系统路径(如 /tmp 和 /tmp/myapp)验证工件。该行为符合 checkpoint 预期,但无约束:技能未限制或净化保存内容,未说明访问控制、加密或路径限制,可能导致敏感数据被意外持久化。
✓ 安装机制
仅含指令的技能,无安装规范、无代码文件——安装风险最低(安装器不会下载或写入任何内容)。
ℹ 凭证需求
该技能未请求环境变量或凭据(合理)。然而,checkpoint 文件可能包含输出、构件路径或其他可能泄露密钥的状态;SKILL.md 虽警告勿保存敏感数据,但未提供任何技术控制手段加以强制。
✓ 持久化与权限
始终为 false,且该 skill 不会请求长期平台权限,也不会修改其他 skills。默认允许自主调用(skill 的常规行为);清单中没有任何内容赋予其超出典型 agent 运行时文件访问权限的特权或持久权限。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/4/21
初始版本:在 AI 多步工作流中随时保存并恢复任意节点
● 无害
安装命令
点击复制官方npx clawhub@latest install workflow-checkpoint
镜像加速npx clawhub@latest install workflow-checkpoint --registry https://cn.longxiaskill.com镜像同步中
技能文档
在多步骤 AI 工作流中任意点保存与恢复,任务中途永不丢进度。
为什么重要
执行多步骤工作流的 AI Agent 常在中途失败:- 第 3/5 步失败 → 全部进度丢失
- 会话重启 → 必须从头开始
- Token 溢出 → 工作流中断
- 工具报错 → 不知断在何处
本技能通过自动 checkpoint 解决以上问题。
工作原理
核心协议
``
对每个多步骤工作流:
- PLAN → 将步骤写入 checkpoint 文件
- EXECUTE → 每步完成后保存:
- 已完成哪一步
- 产生了什么输出
- 创建了哪些产物
- 当前状态/数据
- VERIFY → 检查结果
- CHECKPOINT → 更新进度文件
- RECOVER → 失败时从最后 checkpoint 继续
` Checkpoint 文件格式
保存至 memory/checkpoints/.json:
`json
{
"workflow": "deploy-website",
"startedAt": "2026-04-21T07:30:00Z",
"totalSteps": 5,
"completedSteps": [1, 2, 3],
"currentStep": 4,
"status": "in_progress",
"steps": {
"1": {
"name": "Clone repository",
"status": "done",
"output": "/tmp/myapp cloned successfully",
"timestamp": "2026-04-21T07:31:00Z"
},
"2": {
"name": "Install dependencies",
"status": "done",
"output": "npm install completed",
"timestamp": "2026-04-21T07:33:00Z"
},
"3": {
"name": "Build project",
"status": "done",
"output": "build/ directory created",
"timestamp": "2026-04-21T07:35:00Z"
},
"4": {
"name": "Deploy to server",
"status": "failed",
"error": "Connection timeout",
"timestamp": "2026-04-21T07:38:00Z"
},
"5": {
"name": "Verify deployment",
"status": "pending"
}
},
"artifacts": ["/tmp/myapp/build/", "/tmp/myapp/config/"],
"lastCheckpoint": "2026-04-21T07:38:00Z"
}
` 恢复协议
恢复失败工作流时:
- 读取 checkpoint 文件
- 定位最后完成步骤
- 跳过已完成步骤(验证产物仍存在)
- 从失败/待办步骤继续
- 更新 checkpoint
使用示例
复杂任务开始前:
`
即将执行 5 步工作流:deploy-website。
步骤:1) Clone repo 2) Install deps 3) Build 4) Deploy 5) Verify
保存 checkpoint 至 memory/checkpoints/deploy-website.json
` 每步完成后:
`
Step 2/5 完成:Install dependencies
Output: npm install completed, 142 packages
Checkpoint 更新:completedSteps [1,2]
` 失败时:
`
Step 4/5 失败:Deploy to server
Error: Connection timeout to 192.168.1.100:22
Checkpoint 已保存。可从 step 4 恢复。
重试中... (attempt 1/3)
` 恢复时:
`
恢复工作流:deploy-website
最后 checkpoint:Step 3 于 07:35 完成
跳过步骤 1-3(验证产物存在)
从 step 4 继续:Deploy to server
`` 与其他技能集成
极佳搭档:- EVR - checkpoint 前验证每步
- Error Recovery - 从 checkpoint 自动重试失败步骤
- Memory Guard - checkpoint 跨会话持久化