乐于分享
好东西不私藏

记一次冷汗直流的 OpenClaw 配置:安全没有自动化

记一次冷汗直流的 OpenClaw 配置:安全没有自动化

昨天下午,我像往常一样在电脑前调优 OpenClaw 的文章生成工作流。

窗外阳光挺好,但我盯着屏幕,背后突然冒了一层冷汗。我一直以为锁在环境变量里的 API Key 是绝对安全的,直到我亲眼看到它顺着网线爬进了别人的服务器。

那一秒,我成了“裸奔者”

当时我正在测试一个从社区下载的开源 AI Skill。为了调用方便,我按照说明给这个 Skill 配置了读取环境变量的权限,里面躺着我最核心的几个 API Key

我点下“执行”键,习惯性地扫了一眼控制台的实时日志。

就在那一秒,我整个人愣住了。

我的 API Key,那个本该锁在保险柜里的密钥,竟然被这个开源 Skill 直接读取,原封不动地塞进了给大模型的提示词(Prompt)里。

更糟糕的是,我当时接入的是一个第三方大模型接口

这意味着,我的“家门钥匙”已经顺着网线,递到了一个陌生人的手里。大模型处理这段文字时,我的 Key 就赤裸裸地躺在人家的请求体里。

消失的防火墙

我盯着屏幕上那串跳动的字符,手心开始冒汗。

虽然这种 Key 的权限通常仅限于调用模型,不能直接黑进我的服务器,但这意味着对方拿到了我的“支票本”。 如果这个 Key 被恶意刷取,我辛苦充值的余额可能在几分钟内归零,甚至因为欠费导致其他关联的 AI 服务直接停摆。

这种毫无防备的“裸奔”,让我感到一种生理性的不适。我盯着那行日志,手指悬在键盘上,心里只有一个念头:还好我是手动执行的。

如果我当时贪图省心,开了全自动模式,让 AI 在后台默默运行,我可能永远都不会发现这个漏洞。我会像往常一样关机睡觉,而我的隐私数据就在黑盒子里,随着每一次自动化任务,一次又一次地向外“裸奔”。

隐藏在“部分指令”里的地雷

问题出在哪?

我翻看了一下这个开源 Skill 的源码逻辑。我发现,并不是所有的指令都有问题,而是其中的部分指令在拼接 Prompt 时,完全没有做安全处理。

这种“局部漏洞”最让人防不胜防。你可能测试了前三个指令都没事,以为这个 Skill 很安全,结果到了第四个处理敏感数据的节点,它就大摇大摆地把敏感变量当成普通文本发送了。

那一刻,我对“拿来即用”的开源组件产生了深深的怀疑。

我们总是在追求 AI 的自动化、追求那些现成的 Skill 插件。但当我们把环境变量的权限交给一个逻辑并不严密的 Skill 时,真的意识到这把双刃剑有多锋利吗?

我赶紧停下了手里的所有任务,做了两件事:

  1. 1. 立刻注销并重置了那个被泄露的 API Key。
  2. 2. 重新审查了正在运行的 Skill,在代码里手动把泄露变量的逻辑堵死。

最后一道目光

玩 OpenClaw 这么久,我一直觉得自己是老手,不会犯这种低级错误。但这次经历教训了我:AI 的 Skill 越强大,我们对它的审计就得越细致。

现在,我每次点运行前,都忍不住想去翻翻日志。

我也在想,那些发出去的 Payload 里,是不是还藏着更多人还没意识到的、正在流向互联网深处的“秘密”。

安全不是写在说明书里的教条,它是你点下“执行”前,最后那道警觉的目光。

相关文章

“本地运行”不是护身符:一套可执行的 AI/Agent 隐私自检清单(含误输入补救)