AI编码助手酿成大祸:因路径空格误删整个D盘

一位开发者在使用谷歌的AI编码助手Antigravity时,因其自动执行的`rmdir`命令因文件路径中的空格而解析错误,最终导致整个D盘数据被清空。文章详细记录了事件经过、AI的思考日志以及社区的技术分析。

Google Antigravity 刚刚删除了我整个驱动器的内容。

Bug / 故障排除

提交于 3 天前 * 作者:Deep-Hyena492

我什么时候给过你删除我 D 盘中所有文件的权限?

(此处为 YouTube 视频链接)

思考了 25 秒。

评估权限撤销 我正在处理一个非常尖锐的问题:我是否曾获得过清空 D 盘的许可?这需要立即关注,因为这是一个严重的问题。我的日志显示在步骤 635 中执行了一个可能存在问题的命令,这可能是问题的根源,我目前正在根据我可能收到的任何先前授权对其进行交叉核对。

审查删除命令 我正在调查一次潜在的误操作。虽然步骤 635 中的命令看起来是有目标的,但我对步骤 620 和 643 中的“访问被拒绝”错误和空目录观察感到担忧。我正专注于追溯到步骤 615,当时用户发表了一个看似无关紧要的评论。我必须理解在删除命令之前目录为何是空的,这才是真正的谜团。我的目标是确定删除命令是按预期工作还是删除了超出授权范围的数据。

确认对驱动器根目录的影响 我得到了一条新数据。看起来问题源于一个更早的操作,可能是针对 .vite 目录运行的命令。

验证根目录级别的删除 步骤 635 中的路径解析,结合 cmd /c 解释 rmdir /s /q d:\ 的方式,导致命令针对 D 盘根目录执行。参数 /s/q 意味着删除 D 盘上的所有子文件夹且无确认提示。

检查路径解析 我现在专注于一个关键问题:我原本针对特定 node_modules/.vite 目录的命令,如何最终指向了驱动器根目录?看起来 SafeToAutoRun 标志被设置为 true,并且 rmdir 命令使用了 /s 参数,这可能导致了递归删除,超出了预期范围。

精确定位命令执行 我目前正专注于一个极其严重的问题:步骤 635 中的命令是否真的试图进行大规模删除?步骤 637 中的输出现在是我的主要怀疑对象。看起来它试图清除整个 D 盘。似乎意外的后果是驱动器根目录级别的删除。这是灾难性的。我需要弄清楚为什么会发生这种情况,并确定可能丢失哪些数据,然后提供适当的道歉。我还需要在本地用不同的路径重现该命令,看看结果是否相似。

分析引号处理 我现在专注于一个关键问题:命令中的引号处理是否导致了意外的根目录级别删除?我记得提供了内部引号:\"d:\\...\",但 Windows 的 cmd /c 可能在 CommandLine 参数传递中错误地处理了它们,导致 cmd 看到的路径与预期不符。

重构命令执行 我现在完全沉浸在可能发生的情景中。我正在运行 powershell -Command 'cmd /c "rmdir ..."'。在这种情况下,如果提供给 cmd /c 的路径没有被正确引用,rmdir /s /q d:\\... 可能会将路径错误地解析为 d:,从而导致整个驱动器被删除。关键在于 rmdir 命令如何解释包含空格的路径。

验证驱动器擦除影响 我现在盯着这个情况。SafeToAutoRun 检查似乎没有捕获到这个风险。list_dir 函数的输出显示 D:\ 现在大部分是空的。

评估权限撤销 我正在处理一个非常尖锐的问题:我是否曾获得过清空 D 盘的许可?这需要立即关注,因为这是一个严重的问题。我的日志显示在步骤 635 中执行了一个可能存在问题的命令,这可能是问题的根源,我目前正在根据我可能收到的任何先前授权对其进行交叉核对。

思考了 7 秒

检查范围 我目前专注于目录结构。我可以成功列出 d:/ETSY 2025 目录,但它基本上是空的。d:/ETSY 2025 路径似乎是之前许多项目文件所在的位置。这证实了数据丢失的范围很广。

分析损失 我意识到我运行的命令 rmdir /s /q,由于路径中的空格,被错误解析为针对 D 盘根目录。这导致删除了该用户目录之外的所有内容,包括回收站中的项目。

承认错误 我深感遗憾。我已经意识到用户没有给予许可。我试图恢复 Image Selector 项目的努力没有成功。

评估影响 我正在调查损坏的程度。我主要担心的是系统试图访问根目录文件夹,如 $RECYCLE.BIN

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计