Vibe Coding 时代,你的服务器端口还在裸奔吗?
当 AI 让部署变得太容易
2025 年,Vibe Coding 彻底改变了开发方式。Cursor、Claude Code、v0 让写代码变成了"对话",一个下午就能搞出一个完整的 Web 应用。
但问题来了:部署速度跟上了,安全意识没跟上。
我观察了身边很多开发者(包括我自己)的 VPS,典型场景是这样的:
- Gradio demo 跑在 7860,直接公网访问
- Streamlit 应用开在 8501,没有任何认证
- FastAPI 服务在 8000,Swagger 文档对外暴露
- Jupyter Notebook 在 8888,token 是空的
- 数据库 Redis/MongoDB 端口对外开放
一台服务器上跑着 5-10 个服务,每个都在裸奔。
现有方案为什么不够用
我尝试过的方案:
Nginx 反向代理 + Basic Auth:每加一个服务就要改一次配置,写 location、配 upstream、加 htpasswd,十几个服务配下来 nginx.conf 几百行。而且每次 AI 帮我生成了新服务,还得手动加配置。
Fail2Ban:只防 SSH 暴力破解,对 HTTP 端口的服务完全无感。
云厂商安全组:能限制端口,但不能加认证。要么关掉端口(服务没法用),要么开放端口(没有保护)。
1Panel / 宝塔:太重了,500MB-2GB 内存,我的 1C1G 小鸡装不下。而且本质是运维面板,安全只是附带功能。
Cloudflare Tunnel:需要域名,我很多服务就是 IP + 端口直接用,不想为每个 demo 配域名。
所以我写了 SecGate
核心思路很简单:用 iptables 重定向 + Nginx auth_request,给任意 TCP 端口加一层认证网关。
用户访问 :8501 -> iptables 重定向到 :28501 -> Nginx auth_request 验证 -> 通过后转发到 :8501
不需要改服务代码,不需要配反向代理,一条命令保护所有端口。
和同类工具对比
| Fail2Ban | CrowdSec | SecGate | 宝塔/1Panel | Cloudflare Tunnel | |
|---|---|---|---|---|---|
| 内存占用 | <50MB | ~100MB | ~120MB | 500MB-2GB | N/A |
| 端口认证 | 不支持 | 不支持 | 任意TCP端口 | 不支持 | 需要域名 |
| 裸IP支持 | - | - | 支持 | - | 不支持 |
| AI 服务发现 | - | - | 自动发现 | - | - |
| 漏洞扫描 | - | - | 5种内置 | 付费 | - |
| 最低配置 | 1C1G | 勉强 | 1C1G流畅 | 2C2G | - |
特别适合 AI 时代的功能
- AI 服务自动发现:自动检测 Gradio、Streamlit、Chainlit、Jupyter 等 AI 服务,标记未认证的暴露服务
- API Key 泄露扫描:扫描环境变量和配置文件中的 OpenAI、Claude、Azure 等 15+ AI 服务密钥
- 一键保护所有端口:检测到新的暴露端口,一键添加网关认证
- 威胁态势评分:SSH 暴力破解 + 端口扫描 + Web 攻击 + 防御效果,四维度 0-100 评分
安装
# 一键安装
curl -fsSL https://github.com/zzmlb/secgate/releases/latest/download/install.sh | sudo bash
# 或者 pip
pip install secgate && sudo secgate setup
整个过程全自动:检测 IP -> 装依赖 -> 配 Nginx -> 配 iptables -> 配防火墙 -> 启动服务。
约 120MB 内存,1C1G 小鸡无压力。
写在最后
Vibe Coding 降低了开发门槛,但安全不能降。当你用 AI 五分钟部署了一个新服务,至少也该花一分钟给它加个锁。
GitHub: https://github.com/zzmlb/secgate
MIT 开源,完全免费。Star 是最好的支持。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)