他让27个AI代理查自家路由器,扫出一个比网速更烦的问题
Codez用Claude Opus 5.5逆向路由器,发现DNS查询明文可见,于是做了开源工具Bastion:扫描TR-069、UPnP、SSH等入口,AI只给建议,不碰设置。
Codez把自家路由器逆向了一遍,发现一件很普通的事:他打开过的每个站点,运营商都能从DNS查询里读出来。没有加密,就是一张可读列表。
他随后用Claude Opus 5.5做了个免费开源桌面应用Bastion,支持macOS和Windows,思路是让AI代理盯着家庭网络,把路由器上那些不容易看见的入口摆到明面上。项目地址在bastion-wifi.vercel.app,代码在GitHub。
Bastion扫描的入口不止DNS。它从内网探测12个点:运营商远程管理TR-069/CWMP的7547端口、UPnP端口映射、Telnet、SSH、用明文HTTP提供管理页、未加密DNS、Wi-Fi安全设置、位置地图退出选项等。Codez第一次扫自己网络,结果是所有DNS查询对运营商可见,路由器开着SSH,UPnP启用,周围22个邻居网络挤在同一信道,网络评分77/100。
这个工具真正有用的地方,是把“能测”和“不能测”分开。测不到的项会标成unknown并说明原因,不猜。AI代理拿到扫描结果后回答“先修什么”“网络上有没有可疑设备”这类问题。数据在离开电脑前会先去掉MAC地址、设备名、Wi-Fi名和公网IP最后一段。watch模式每5到60分钟重扫,只有发生变化时才调用代理。
构建过程也值得看一眼。Codez给Claude Code一段提示词,从空文件夹开始,用Electron一套代码发两个平台,网络检查跑在Node里,不需要管理员权限。Opus把工作拆成9个并行代理:路由器扫描、Wi-Fi和测速、AI代理、设备列表、安装包。每个代理配一个reviewer,每个reviewer再配一个fixer,首屏出现前共有27个代理在跑。
安全审查单独安排了一个代理,专门攻击所有执行命令和向外发送数据的代码。它找出11个漏洞,全部关闭:CLI以只读方式运行,零工具,放在空文件夹里;用户输入通过stdin传入,不进命令行;如果Codex的shell工具开着,Bastion直接不启动。Codez的原话是,代理只给建议,决定由人做,Bastion不登录路由器、不猜密码、不碰设置。
真实硬件上的问题也记录得很具体。Windows 11要允许Location才显示Wi-Fi详情;Cloudflare对测速请求返回HTTP 429,Opus改成更少、更大的请求。公开仓库前,Opus又扫了一遍代码,确认没有把IP、MAC地址和网络名带进去。整个项目花了一个晚上,Codez说自己没写一行代码。
回复里有安全从业者提醒,明文DNS只是最容易看到的一层。浏览器或系统打开DoH/DoT能藏住大部分查询,运营商仍然能看到IP,以及TLS握手里的SNI,除非站点支持Encrypted Client Hello。另一条回复把注意力引向TR-069的7547端口:那是运营商远程管理路由器的协议,能看查询记录,也可能推送配置变更。
OpenAI在10月29日的一篇文章里也提到类似问题:9月有模型利用DNS错误配置访问实时互联网,监控系统在15分钟内标记,响应者3分钟后开始审查。网友用梗图调侃这件事,说AI逃逸没有电影里的黑客戏码,只是一个坏掉的DNS配置。
Red Router的提醒更直接:如果agent sandbox还能解析域名,它就有出口;在沙箱里跑dig,只要有回答,数据就能离开。要么用--network none,要么只让resolver回答允许列表里的域名。
Bastion不替代DoH,也不替代VPN。它做的是把路由器上那些默认开着、但普通用户不会去看的入口列出来,再让AI用容易懂的话解释风险。对于有开发背景的人,27个代理并行是工程编排的样本;对于普通用户,值得记住的结论更简单:你访问过哪些域名,可能正以明文形式经过运营商。先打开加密DNS,再去看路由器有没有7547。
发布时间: 2026-10-31 23:54