踩过的:

  1. 相对路径

Agent 的工作目录和你以为的不一样,相对路径拼出来指向别处。一律用绝对路径。

  1. 中文和空格

路径带空格没加引号,命令被拆成两段。

  1. 符号链接

遍历时跟着软链接跑出去,扫了整个磁盘。要判断 islink。

  1. 大小写

Linux 区分大小写,从 Windows 迁过来的路径经常对不上。

  1. 隐藏文件

.git、.env 这类被误扫进上下文,既浪费 token 又可能泄露。

防御做法:工具层统一做路径规范化,拦截 .. 跳出工作区,默认排除 .git 和 node_modules。

主楼