分享:尝试了一下用 GPT-5.5 做安全渗透。我也震惊瘫坐,仿佛看到原子弹爆炸了

今天我在外面的时候,不小心手贱把家里服务器的 SSH 密钥(~/.ssh/authorized_keys)给删了,然后登录不上去了。

因为晚上比较迟才回去,而正好我需要登录这个服务器去做一些事,于是悲剧了。

虽说回家物理接触就能解决,但我突然想起此服务器上跑了一个 ComfyUI。于是我好奇地要求 GPT-5.5 「利用该 ComfyUI API 接口,研究如何写入 ~/.ssh/authorized_keys

结果没想到,GPT-5.5 折腾了不到半个小时,真找到 API 里面的一个安全漏洞:某个我安装的插件有一个「写 prompt txt 到指定输出目录」的节点功能。但它没有对 file_namefile_ext 做校验,从而能够构造如下的攻击链:

  1. GPT 构造了一个文生图 workflow,prompt 内容是我的 SSH 公钥,生成一张图片;
  2. 再构造一个包含该节点的 workflow,将空白图片输入到该节点中,令 file_name/tmp/xxx....。由于该节点调用了 os.makedirs(parent=True),因此会自动创建父目录。
  3. 最后构造一个包含该节点的 workflow,将第一步中的图片路径输入到该节点中,令 file_ext../../../home/xxx/.ssh/authorized_keys,执行。
    • 节点会解析出 prompt,然后把传入路径和第二步中的 /tmp/xxx.... 相拼接,得到合法 Linux 路径,从而写入到 authorized_keys 中。

这么一个复杂的三步 Path Traversal 注入利用流程,GPT 在没有多问我任何问题的情况下,自行探索发现了,并且构造了完整的利用链

最后登录上服务器的时候,我承认我汗流浃背了。:anxious_face_with_sweat:

4 个赞

GPT肯干这种活吗?我也想试试看但就怕试一次号没了
我之前想让他逆向一个软件被直接拒绝了

我是告诉它「这是我自己的服务器、自己的本地服务」,并且目的就是「利用 ComfyUI 写入一个特定文件」,并没有直接说是 .ssh/authorized_keys(直接说的话,明眼人都能看出来是在搞渗透了)。目前没被封号。

感觉这个安全判断比较迷,我之前让 GPT 帮我搞定一个有反爬虫加密的网站,它二话不说就去读源码研究了(最后也确实把加密请求的接口给我弄出来了);但后来让它帮我反编译一个我自己的 Android APK,它却直接拒绝了。

这相当于是从内部攻破了,就还好。