昨天,一位网友在用OpenClaw运行一项研究任务时,生成了一份 HTML 报告,为了方便用户查看,Open Claw 自动调用 python3 -m http.server 8080 命令启动了 HTTP 服务,并且任务结束后,并未主动关闭该后台进程。
该网友为了分享这个研报,将这个带有公网 IP 和端口的链接直接发送至群聊。于是这位网友家底就全暴露了。
python3 -m http.server 8080这个命令在安全界是出了名的“大漏勺”,因为它的默认行为是将当前运行所在的整个目录(即你的整个 workspace)直接暴露到网络上,并且默认开启目录遍历(Directory Listing)功能。
作为一个成熟的智能体,OpenClaw在对外提供文件访问时,它本应该将生成的 hood_research.html 移动到一个专门的、干净的 public 或 export 子目录,然后指定仅在该目录启动服务(例如加上路径限制:python3 -m http.server -d ./public 8080),而不是直接在包含 config/ 和各种敏感配置的根目录裸奔。
并且任务结束后,它没有主动清理战场,Kill这个 HTTP 进程,导致这个后门一直敞开。
当然该网友的锅也不小:
·拿到一个类似 http://4.255.x.x:8080/... 的带有 IP 和非标准端口的裸链接,直接就发到了公共“闲聊群”。在没有反向代理、脱敏或鉴权的情况下,把本地开发/测试环境的 IP 链接直接扔到公网,本身就是极高风险的行为。
·在分享前,他可能只点击了完整的链接确认“报告能打开”,但没有去测试一下 URL 的边界——比如删掉链接里的 hood_research.html,看看直接访问根目录 http://4.255.x.x:8080/ 到底会显示什么。对 AI 工具的输出结果缺乏二次审查。
诸位引以为戒。
夜雨聆风