如果在缺省情况下使用 chatGPT-web 这个软件,一不小心就会被人扫描到,并且会被人无偿使用。
撰文:卫剑钒
自从 OpenAI 提供了 GPT 的 API 后,很多同学用一款开源软件搭建自己的 chatGPT 网站。
这款开源软件是 chatGPT-web,网址是:https://github.com/Chanzhaoyu/chatgpt-web
搭建好以后,界面大概就是这个样子:
但是,如果在缺省情况下使用这个软件,一不小心(是说你不会设置),就会被人扫描到,并且会被人无偿使用。
很多网站维护者已经纷纷中招,他们发现,自己搭的 chatGPT,自己还没有怎么用,已经被别人重度使用了,每天的 API 费用都达到了好几美元。
原因就是他的网站被人发现了,并且被很多人免费使用了。
互联网上有一些网络资产搜索引擎(有人称其为「网络空间测绘」),通过指定拟搜索网站的 title 信息、域名信息、IP 信息、端口和协议信息、header 信息、html 正文信息、banner 信息、城市信息、证书信息等等,可以对互联网上的信息资产进行非常便利的搜索,比如可以搜索含特定标题的网页,搜索某软件在互联网的部署情况,并可做到全网的漏洞扫描。
使用这些搜索引擎,你能找到几乎所有和互联网相关联的资产,因为这些搜索引擎,几乎一刻不停地在互联网上搜索着各种服务器、路由器、智能设备、摄像头、打印机等等,这样,用户搜索时,就能迅速返回搜索结果。
真正可怕之处在于,很多在互联网上网站或设备并没有安全防御措施,所以别人搜索到了,就可以很轻松地进入。
chatGPT-web 这个开源软件,其前端首页的 Title 默认是:ChatGPT Web
那么在资产搜索引擎里,搜索 title 是 ChatGPT Web 的网站,就可以发现使用这个开源项目的网站了。
可以看到,在 1 秒多的时间内,就搜索到了 2 万多个这样的网站。
如果这些网站没有口令保护(缺省是没有的,除非去设置),扫描者就可以直接使用不花钱的 chatGPT 了。
其实在 chatGPT-web 的 README 中,说明了这个问题,只不过很多使用者把所有精力都放在了怎么让网站转起来,而没有细看这些安全说明。
如果你真的用的,现在改还来得及,毕竟,能少损失一点少损失一点。
1、在前端的 index.html 文件中,将 title 修改为别的,一定不要含有 ChatGPT 的字样。
2、在配置文件中,设置 AUTH_SECRET_KEY,给网页增加访问口令。
如果是自己构建后端,在在 service 目录下的.env 文件中设置 AUTH_SECRET_KEY。
如果用的是 Docker Compose,在 docker-compose 目录下的 docker-compose.yml 文件中设置。
加上口令验证后,网页就会变成这样:
这样就会好很多,至少可以拦截大量的一般尝试者。
所以,网站维护者一定要有最基本的安全意识,你以为别人发现不了你,其实别人早就发现你,并且利用你了。
软件开发者则应该考虑,如何让软件的缺省安装是安全的,比如让程序自动生成不同的 Title,自动生成缺省的口令等等,而不是等着用户去设置。
你可以说,我是开源的,我没有这义务,你用不好是你自己的事,但是,如果你做的好,你的声誉会很好。
因为使用者,往往就是傻瓜式安装,他们懒得改任何东西。
网站可能还会有其他问题,就看攻击者是不是有心了,此处不赘述。有兴趣可以看看此文:《使用国内私人部署 ChatGPT 风险分析》。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。