codegate
为AI编程助手打造的安全网关,拦截Secrets/PII泄漏与恶意库推荐
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为AI编程助手打造的安全网关,拦截Secrets/PII泄漏与恶意库推荐
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024年,AI编程助手已经走进了千万开发者的日常。GitHub Copilot、Cursor、Claude Code 这些工具让编码效率大幅提升。然而,一个尖锐的问题也逐渐浮出水面——AI 并不知道自己生成的代码是否安全。
一个典型的场景是这样的:开发者让 AI 帮写一段文件上传功能,AI 贴心地生成了完整代码,包括一个注释掉的示例 API Key。或者开发者想让 AI 推荐一个 JSON 解析库,AI 热情地推荐了一个三年前就有严重漏洞的过时版本。这些问题不会触发任何 IDE 警告,却可能在生产环境中埋下定时炸弹。
Stacklok 团队敏锐地捕捉到了这个痛点。他们此前在身份安全和软件供应链安全领域有深厚积累,CodeGate(代码门)就是在这一背景下诞生的——一个专门为 AI 编程工具打造的安全网关。
想象一下,CodeGate 就像公司前台的安全闸机。所有的访客(AI 生成的代码)都要经过这个闸机,接受检查——有没有携带危险品(Secrets/PII)、有没有推荐违禁品(恶意库)、建议的操作是否符合安全规范。检查通过才能放行,检查不通过就告诉你哪里有问题、怎么改。
第一层:Secrets 泄漏检测
CodeGate 内置了 Microsoft Presidio 分析引擎,能够精准识别 30+ 种敏感数据类型。包括 API Key(AWS/GCP/Azure/OpenAI)、数据库连接字符串、JWT Token、加密密钥、私钥、密码等。当 AI 在代码注释或字符串中"好心"留下示例凭证时,CodeGate 会立即标记。
第二层:PII(个人身份信息)检测
除了技术性密钥,CodeGate 还能检测个人信息——姓名+邮箱组合、手机号、身份证号、信用卡号等。这防止了 AI 在处理数据时代替用户输出可能包含隐私信息的模板代码,从而避免 GDPR 等合规风险。
第三层:恶意库与 Deprecated 库检测
CodeGate 维护了一个代码模式数据库。当 AI 推荐的库满足已知恶意代码的模式特征(如特定的加密调用、数据外传行为),或已在 NVD/CVE 中被标记为过时高危版本时,CodeGate 会主动拦截并推荐安全的替代方案。
第四层:多语言代码 AST 解析
不同于简单的正则匹配,CodeGate 使用 tree-sitter 对代码进行 AST(抽象语法树)级别的解析。支持 Python、Go、Java、JavaScript、Ruby 五种语言,能够准确识别函数调用、import 语句、变量赋值等结构——即使敏感信息被 base64 编码或散布在多处,也能被解析出来。
第五层:Workspaces 隔离与统一管理
开发者通常同时使用多个 AI 编程工具(Copilot、Cursor、Claude Code),每个工具各自为政。CodeGate 充当统一代理层,开发者将所有 AI 工具的请求指向 CodeGate,便可以在一个 Dashboard 中查看所有 AI 交互记录、统一管理 API 凭证、设置全局安全策略。

图1:CodeGate 工作架构图——AI 编程工具通过 CodeGate 统一代理,后端进行安全分析与策略执行
CodeGate 采用 Python 3.12 构建,后端核心基于 FastAPI 异步框架,通过 SQLAlchemy + aiosqlite 实现数据库访问。安全分析管道整合了多个专业工具:
| 组件 | 技术选型 | 作用 |
|---|---|---|
| 代码解析 | tree-sitter | 多语言 AST 解析 |
| PII 检测 | Presidio + spaCy + ONNX | NLP 实体识别 |
| 本地 LLM | llama_cpp_python | 本地模型推理 |
| 向量存储 | sqlite-vec | 代码片段语义搜索 |
| LLM 集成 | OpenAI 兼容接口 + Ollama | 支持本地和云端模型 |
前端 Dashboard 独立部署于 Node.js 构建的 React 应用中,通过 API 与后端通信。服务监听三个端口:8989(主 API)、9090(WebSocket)、8990(代理端口)。
CodeGate 提供官方 Docker 镜像,一行命令即可启动:
docker run --name codegate -d -p 8989:8989 -p 9090:9090 -p 8990:8990 \
--mount type=volume,src=codegate_volume,dst=/app/codegate_volume \
--restart unless-stopped ghcr.io/stacklok/codegate:latest
部署无 GPU 需求,主流硬件均可运行。配置文件通过环境变量注入,支持 OpenAI、Ollama、Claude(via API)、Azure OpenAI 等多 Provider 接入。
需要特别说明的是,CodeGate 仓库已于近期在 README 顶部标注了 "DEPRECATED - no longer maintained" 警告。项目最后版本 v0.1.32 发布于 2025 年 5 月 2 日,但此后未再更新。
这意味着:
对于仍在探索 AI 安全网关的开发者,建议关注 Stacklok 主项目 mediator(软件供应链安全平台)或其他活跃的 AI 安全工具。
尽管 CodeGate 本身停止了维护,但它所代表的"AI 编程工具安全网关"这一赛道依然具有重要意义。随着 AI 代码生成从"辅助工具"进化为"主力生产力",AI 生成代码的安全性问题只会越来越突出。
CodeGate 的贡献在于:它首次系统性地提出了在 LLM 应用层建立安全扫描管道的技术方案,证明了 tree-sitter + Presidio + 多 Provider 代理这一技术组合的可行性。这一架构模式在今天依然被多个 AI 安全工具所借鉴。
对于需要类似功能的开发者,可以考虑:
总结:CodeGate 是一款将企业级安全理念引入 AI 编程助手的创新尝试,在架构设计上展现了 Stacklok 团队在安全领域的深厚积累。尽管项目已停止维护,其技术思路和实现方案对于构建 AI 安全工具链仍具有重要参考价值。
⚠️ 提示:本分析基于项目最后活跃版本(v0.1.32,2025-05-02)。由于项目已废弃,分析结果仅供参考,部署前请自行评估风险。