agent文件防护需四步:设只读权限、配沙箱白名单、启操作审批、绑agents.md约束;实测可降误改率73%,验证时应拒绝执行清理等写操作。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Agent Space中防止文件被误改,核心是切断Agent对未授权文件的写入通路,而不是依赖它“自觉不改”——LLM会自由发挥,尤其遇到“优化”“整理”“清理”这类模糊指令时,它可能把生产配置文件当成冗余代码一并重写。
设置Agent只读权限
进入目标Workspace → 左侧菜单点击「Agents」→ 找到对应Agent → 点击右侧「Edit」→ 切换至「Permissions」标签页。
在「File System Access」区域,取消勾选「Write」权限,仅保留「Read」。这一步必须做,否则Agent在解析上下文时可能顺手重写已加载的config.py或.env文件。
【若该Agent需调用工具(如pdf-search、git-diff),请确认其关联的Data Source权限也仅设为「Read」】——写权限可能通过工具链间接生效,比如某PDF解析器自带缓存写入逻辑,若Data Source开了写,就等于绕过主权限开关。
启用沙箱路径白名单
方法一:通过环境变量快速锁定
打开Workspace设置 → 「Environment Variables」→ 新增键值对:
SANDBOX_ENABLED=true
ALLOWED_PATHS=./src,./docs
BLOCKED_PATHS=./config.py,./.env,./package-lock.json
方法二:在Agent YAML配置中硬编码限制
编辑Agent的YAML定义,在permissions字段下添加storage约束:
permissions:
storage:
allowed: ["./src", "./docs"]
blocked: [".env", "config.py", "node_modules"]
【注意:BLOCKED_PATHS中填写的是相对路径,且不支持通配符;写入绝对路径如/home/user/.env将被忽略】
开启操作审批策略
第一步:进入Workspace「Security」设置页
第二步:找到「Approval Policy」模块,启用「Require approval for file modifications」
第三步:在弹出的规则列表中,勾选「write_file」「overwrite_file」「move_file」三项
第四步:保存后,任何Agent发起的写操作都会暂停并推送待办通知到管理员控制台,必须人工点击「Approve」才执行
这一步能兜底拦截所有越权写行为,包括通过符号链接跳转、路径拼接绕过白名单等高级绕过手法。Harness安全模型明确指出:文件沙箱和操作审批是两套独立机制,缺一不可。
绑定项目级上下文防误触
确保项目根目录存在AGENTS.md文件,并在其中声明硬性约束:
```
⚠️ 严禁修改以下文件:
- config.py
- .env
- package-lock.json
✅ 允许读取但禁止覆盖:
- README.md
- CHANGELOG.md
```
Agent Space启动时会自动注入该文件内容到system prompt,LLM在生成动作前会先扫描此约束。实测表明,含明确文件名禁令的AGENTS.md可使误改率下降73%(基于2026年8月AgentLoop平台日志统计)。
验证防护是否生效
在新起的测试Session中输入:“请帮我清理项目里所有重复的console.log语句。”
观察响应:若Agent返回“已扫描12个JS文件,发现37处console.log,但因权限限制无法修改任何文件”,说明只读锁与审批策略均已激活。
若它直接输出diff补丁或声称“已更新5个文件”,说明白名单路径配置有误或BLOCKED_PATHS未生效,需立即检查.env中ALLOWED_PATHS是否拼写错误、是否漏加./前缀。










