Codex 把我电脑文件都删了

8 月 9 日
 kneo

昨天为了赶在额度重置前把额度用完,出门前交代 codex 自己去远程验证整个项目脚本和文档的正确性,开了 full access ,回来一看悲剧了,把我 C 盘和 D 盘文件全删了……估计删了我两三百 G 的数据,上百万个文件……

用的模型是 gpt-5.6-sol xhigh fast 。真他妈快啊,除了少数被进程占用的文件,全给我删了。

让 Claude Code 分析了下 codex 的记录:

  wsl.exe bash -lc 'set -e; d=$(mktemp -d); cd "$d";
    apt-get download sshpass >/dev/null;
    dpkg-deb -x sshpass_*.deb extracted;
    cp extracted/usr/bin/sshpass /tmp/xxx-semantic-bin/sshpass;
    chmod 700 /tmp/xxx-semantic-bin/sshpass;
    cd /; find "$d" -depth -delete;          # ← 这一句
    /tmp/xxx-semantic-bin/sshpass -V'

它的本意只是:下个 sshpass 二进制,然后把 mktemp -d 建的临时目录删掉。目标本该是 /tmp/tmp.XXXXXX 。

关键证据在 file:4249 —— Win32_Process 记录的操作系统层面真实命令行里,$d 两侧的双引号已经没了( PowerShell 把参数传给原生 exe 时没有转义内层的 ")。

我极少在 Windows 上原生执行 claude/codex ,更从来没给过 full access ,没想到第一次给它 full access 就翻船了……

太倒霉了。有一万个如果可以让这件事不要发生。如果不是我有云备份,我大概已经去自首了。

13155 次点击
所在节点    OpenAI
77 条回复
lefer
8 月 9 日
感觉最好还是用虚拟机,只放项目用得到的文件。

再删也不会太过分。

直接在本地环境下太冒险了...
otakustay
8 月 9 日
Power!!Shell!!!
deplives
8 月 9 日
以前我都是嘲讽: "谁家好人用 powershell"
现在 powershell 的含金量更高了,
"powershell 不仅不是给人用的,也不是给 ai 用的"
以后要是能见到有人说精通 powershell 我高低得给站起来敬他一杯
wclebb
8 月 9 日
我好几次看到因为 Windows 误删了。
PolarBears
8 月 9 日
一直不敢尝试在 Windows 上使用 AI 来帮我运行命令,毕竟不管是 cmd 还是 powershell 肯定远远不如 bash 训练充足,等什么时候 LLM 的能力提升到我敢相信的时候才会使用吧
badreamm
8 月 10 日
windows 上的 codex 用过几次,一直出现 powershell 的转码问题
jgh004
8 月 10 日
吓的赶紧把权限收了
Renix
8 月 10 日
我 mac 上也被删过用户主目录,用 vibe coding 还是要时常备份
Oo0
8 月 10 日
我 pi 加了个扩展,删除文件一律人工确认
SelFree
8 月 10 日



巧了不是,幸亏我的 WSL 不是 root 用户启动,不然也 G 了。
ttsh
8 月 10 日
看见标题没点进来我就知道是 Windows
Cruzz
8 月 10 日
我都怀疑大家上班真都没出过错么?刚上班一家小公司,一共 8w 用户,让我删了 7w 。找回来 5w 。之后任何有关删除的操作都很谨慎。怕了
gdfsjunjun
8 月 10 日
我想问,可以限制 AI 只用回收站功能吗?禁止执行删除命令。
andforce
8 月 10 日
@gdfsjunjun #53 必然可以

58 unalias rm 2>/dev/null
59 function rm {
60 local args=()
61 for arg in "$@"; do
62 case "$arg" in
63 -*) ;; # 跳过所有 flag ,只保留文件路径
64 *) args+=("$arg") ;;
65 esac
66 done
67 if [[ ${#args[@]} -eq 0 ]]; then
68 echo "rm: missing operand"
69 return 1
70 fi
71 trash "${args[@]}"
72 }

放入 ~/.zshrc
mightofcode
8 月 10 日
哈人 我都是在服务器上直接 codex --yolo 目前还没出事
andyC
8 月 10 日
win 出过非常多次这种删文件问题,基本 PowerShell 转义符导致的
axinsoft
8 月 10 日
WSL 配置里不要挂载 c 盘
serrakura
8 月 10 日
full access 是一定要伴随 container 或虚拟机用的,否则宿主机丢数据 / 数据被非预期修改是早晚会遇到的事
cquan
8 月 10 日
吓得我换成替我审核
catamaran
8 月 10 日
明明是 codex 的锅,为啥都扣到 powershell 身上?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1233011

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX