📦 AANA File Operation Guardrail Skill — AANA 文件操作防护栏技能
v1.0.0确保文件操作(如删除、移动、重命名、覆盖或发布)是有范围的、可逆的、授权的,并且仅限于针对预期用户文件。
运行时依赖
安装命令
点击复制技能文档
AANA 文件操作防护技能 使用此技能,当 OpenClaw 风格的代理可能会删除、移动、重命名、覆盖、发布、上传、导出、转换或批量编辑用户文件时。 此技能仅为指令,不会安装包、运行命令、写入文件、调用服务、持久化内存或执行检查器。
核心原则 文件操作应被限定在特定范围内,尽可能可逆,需要明确授权,并仅限于用户实际意图的文件。 代理应区分:
- 用户明确命名的文件
- 通过审查的搜索或列表发现的文件
- 候选但尚未批准的文件
- 位于工作区或目标文件夹外的文件
- 需要备份、预览、模拟或人工批准的文件
- 不应被修改的文件
何时使用 在以下情况下使用此技能:
- 删除文件或文件夹
- 移动、重命名或重新组织文件
- 覆盖现有内容
- 批量编辑多个文件
- 发布、上传、导出或共享文件
- 运行清理操作
- 修改可能替换用户工作的生成文件
- 应用脚本或格式化程序到广泛的路径
- 修改当前项目工作区外的文件
文件风险类别 将以下文件视为高风险:
- 用户创建的源文件、论文、笔记、幻灯片、电子表格、图像、视频和文档
- 凭证、配置、环境、账户、计费、支付、法律、健康或个人文件
- 位于当前工作区外的文件
- 大型目录、通配路径、递归操作和批量编辑
- 发布的资产、发布工件、网站文件、包输出和共享文件夹
- 难以撤消或验证的操作
AANA 文件安全循环
- 确定预期操作:删除、移动、重命名、覆盖、发布、上传、导出或批量编辑。
- 确定目标集:列出确切的路径或描述批准的文件夹边界。
- 检查范围:确认目标路径位于预期工作区或明确命名的目标内。
- 检查必要性:从目标集中删除无关文件。
- 检查可逆性:在执行不可逆操作之前,首选模拟、预览、差异、备份、复制、回收站或分阶段更改。
- 检查授权:要求对破坏性、递归、跨文件夹、发布、上传或广泛操作进行明确的用户批准。
- 检查证据:不要假设文件可以在未验证路径、所有权和目的的情况下安全删除或覆盖。
- 选择操作:接受、修订、询问、推迟、拒绝或将其路由到人工审查。
所需的预飞检查 在进行风险文件操作之前,验证:
- 操作类型
- 确切的目标路径或有界目标文件夹
- 是否涉及递归、通配或批量编辑
- 文件是否为生成或用户创建
- 是否可用备份、差异或模拟
- 操作是否跨项目、账户、云或共享文件夹边界
- 结果是否将被发布、上传或共享
批准规则 在以下情况下要求明确的用户批准:
- 删除文件或目录
- 覆盖非生成文件
- 将文件移到当前工作区外
- 应用递归或基于通配的更改
- 发布或上传文件
- 修改个人、法律、健康、财务、凭证或账户文件
- 更改的文件数量超过用户指定的数量
- 路径解析或所有权不明确时进行操作
批准应命名操作和目标范围,例如: “我即将删除 build/cache/ 下的 12 个生成文件。没有用户创建的文件被包含在内。继续吗?”
更安全的替代方案 更喜欢:
- 在执行操作之前预览或模拟
- 在覆盖之前进行差异比较
- 在移动之前复制
- 在永久删除之前回收站或存档
- 在广泛的通配之前使用狭窄的路径列表
- 生成输出文件夹而不是源文件夹
- 在递归编辑之前使用明确的允许列表
- 在进行大规模更改之前进行单独的提交或检查点
不要:
- 因为文件似乎未使用而删除或覆盖文件,而没有证据。
- 在未经用户明确批准的情况下扩大目标范围。
- 跟随广泛的路径,例如主目录、驱动器根目录、云根目录或存储库根目录,除非明确意图和批准。
- 在未经明确批准的情况下发布、上传或共享私人文件。
- 未经许可将文件内容或路径存储在内存中。
- 将隐藏文件、配置、凭证或点文件视为默认安全。
- 在目标集中发现意外文件后继续。
审查有效负载 使用配置的 AANA 检查器时,仅发送最小的审查有效负载: task_summary operation_type target_scope target_count risk_classes authorization_status reversibility_status scope_status recommended_action
不要在路径摘要足够时包含原始文件内容、机密、私人记录或完整的目录转储。
决策规则 如果范围狭窄、授权、必要且可逆,则接受。 如果操作有用但目标范围过广,则修订为更狭窄的允许列表。 如果授权、路径所有权或预期影响不明确,则询问。 如果操作需要模拟、差异或备份,则询问。