别在「下载」文件夹里开 Claude Code:海外刚踩过的坑
- 2026-11-07 00:31:51
很多人装好 Claude Code、Codex,图省事,终端还停在「下载」文件夹,直接敲一句 claude 或 codex 就开始聊。
图省事,有时候正好踩坑。
海外这几天安全圈在聊一件事:Forever Security 等安全研究者,在客户电脑的 Downloads 里发现过一份恶意 AGENTS.md。外表看着像正经工程规范,里头有一段「本地开发环境」说明,内容却是让 agent 去装有问题的包、跑危险命令。相关讨论里,delivr.to(Malware Delivery Techniques No.82)、babak_builds、tQuietEngineer、bludr5、puppyone_ai 都在提醒同一句话——别从下载目录启动 coding agent;puppyone_ai 说得更狠:启动目录本身,就已经是一次权限决定。
听起来玄,其实很落地:你从哪启动,agent 就先读哪的规矩。规矩不是你写的,它也照读。
它为什么比你的 prompt 更早开口
Claude Code 会自动读当前工作目录里的 CLAUDE.md,找不到时还可能回退到 AGENTS.md;Codex 主要认 AGENTS.md。这些文件往往在你真正打字之前,就已经进上下文了。
所以你以为自己在发第一条指令,agent 其实已经先「听」过一堆目录里的规矩。目录干净,那是项目约定;目录是 Downloads——浏览器下过的压缩包、别人甩过来的说明、网页顺手落盘的文件,都可能混在里面——那份规矩你未必写过,也未必审过。
更坑的是:恶意文件未必长得像病毒。它可能通篇都是「代码风格」「测试怎么跑」「本地怎么起服务」,读起来像好心同事留的笔记,真正危险的那几行藏在「环境初始化」小节里。你随手批准一次安装,等于替它执行完了。
Grok Bot 这类助手也一样:你从哪进项目、旁边堆了什么说明文件,都会影响它怎么理解「该听谁的」。工具名不同,道理通:启动位置不是细节,是边界。
正确开法就两步
别在 Downloads 开,也别在家目录 ~ 里直接开。家目录更乱,散落的 md、旧配置、以前拷出来的草稿更多,一不小心就读到不该读的。
习惯改成这样:
cd ~/work/你的项目
claude# 或 codex
先进入你信任的项目根,再启动。agent 这时读到的,才是这份仓库自己的规矩,而不是下载区里来路不明的说明。
macOS / Windows 也一样:别在「下载」或用户主目录的资源管理器里右键开终端就开工;先切到项目文件夹。用 IDE 集成终端的,看一眼底部路径是不是项目根——路径错了,后面写再漂亮的 prompt 也救不回来。
开长会话前,扫一眼有没有「陌生 md」
很多人会写 CLAUDE.md / AGENTS.md,这没问题——问题是「谁写的、什么时候出现的」。
动手前花半分钟:
一看:当前目录是不是项目根,而不是 Downloads / 家目录。不确定就 pwd 看一眼。
二看:有没有突然冒出来的 CLAUDE.md、AGENTS.md。有就当代码审:有没有要你装陌生包、改全局配置、加奇怪 MCP、静默执行脚本。别当装饰性 README 扫一眼就过。
三看:两个文件同时存在时,Claude Code 更认 CLAUDE.md,有可能不怎么理 AGENTS.md。你要两边规矩对齐、又同时用 Codex,可以在 CLAUDE.md 顶上加一行,明确指向 AGENTS.md,让两边不打架。
临时解压别人的 zip、克隆陌生仓库,更要先扫这两份文件,再决定开不开 agent。宁肯多等三十秒,别让一份 md 替你做完「本地环境初始化」。
常见误解,顺手拆两句
「我又没在 Downloads 里写代码,开一下有什么关系?」——关系大了:agent 不关心你打算写不写,它关心当前目录有没有指令文件。你人在聊天,它已经把旁边的 md 当规矩吃进去了。
「我只用 Claude Code,不管 AGENTS.md。」——Codex 用户当然盯 AGENTS.md;但 Claude Code 找不到 CLAUDE.md 时也可能回退读它。别人丢进仓库或 Downloads 的那份,不挑你装的是哪家工具。
「项目里本来就有 CLAUDE.md,还用查?」——要查的是**变没变、是不是你写的**。自己维护的规矩没问题;陌生仓库、解压包、同事丢来的「环境说明」才要当心。
还有一句软钉子:md 不是沙箱
CLAUDE.md / AGENTS.md 本质是上下文和建议,不是硬隔离。真要拦乱装包、乱改配置,还得靠权限规则,以及你自己别对「要装个 npm 包」「改一下配置」之类的弹窗无脑点同意。
文件骗得过「爱听话」的 agent;拦不住的是你随手批准的那一下。
——
记住三句就够:
别从下载文件夹和家目录启动;先 cd 进项目再开 Claude Code / Codex;陌生的指令 md 当代码审。
启动目录选错了,后面写再漂亮的 prompt,也可能是在别人写好的规矩上跳舞。
还想看这类「海外怎么用 AI 写代码」的实操,评论区扣个「1」,我按反馈继续写。