当 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 时代的功能

  1. AI 服务自动发现:自动检测 Gradio、Streamlit、Chainlit、Jupyter 等 AI 服务,标记未认证的暴露服务
  2. API Key 泄露扫描:扫描环境变量和配置文件中的 OpenAI、Claude、Azure 等 15+ AI 服务密钥
  3. 一键保护所有端口:检测到新的暴露端口,一键添加网关认证
  4. 威胁态势评分: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 是最好的支持。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐