C0oki3s/veilgate

GitHub: C0oki3s/veilgate

一个开源的欺骗性反向代理,通过多维请求评分将 AI 红队代理和自动化扫描器引导至按 IP 一致的伪造应用,以非对称方式提高攻击的经济成本。

Stars: 10 | Forks: 1

# VeilGate VeilGate 是一个开源的欺骗性代理,旨在为希望提高自动化安全探测成本,同时又不希望在真实用户面前设置脆弱封禁规则的团队提供服务。 它位于 Web 应用程序的前端,对每个请求进行评分,并选择以下三种结果之一: - **Real (真实)**:将干净的流量转发到上游应用。 - **Challenge (挑战)**:要求可疑但尚不明确的客户端解决浏览器工作量证明。 - **Tarpit (陷阱)**:将高置信度的自动化代理流量转移到确定性的伪造应用中。 其目标并非神奇的不可侵犯性,而是实现更好的经济效益:在保持人类和正常自动化程序畅通无阻的同时,让 AI 辅助的扫描器将时间、token 和注意力浪费在逼真的死胡同上。 ## 功能特性 - 具有 `observe`(观察)、`challenge`(挑战)、`tarpit`(陷阱)以及由阈值驱动的 `auto`(自动)模式的反向代理。 - 针对可疑 User-Agent、稀疏的浏览器标头、蜜罐路径、时间规律性、扫描器路径、SQLi/XSS/OOB 标记、IP/UA 轮换、Cookie 行为、请求图形状、JA3/JA4 TLS 指纹、HTTP/2 指纹、金丝雀重放以及在线 ML 评分的检测信号。 - 通过稳定的逐客户端伪造配置文件来影蔽应用程序的响应。 - 针对陷阱响应的 Prompt 注入和诱饵 Payload 注入。 - 使用 SQLite 持久化存储事件、特征汇总、审计日志和金丝雀。 - 在 metrics 监听器上提供 Prometheus 指标和轻量级仪表板。 - 支持热重载的 YAML 规则文件。 ## 快速开始 前置条件:Go `1.25.10` 或更新版本。 ``` git clone https://github.com/C0oki3s/veilgate.git cd veilgate make build ./veilgate -config configs/veilgate.yaml ``` 默认情况下,VeilGate 监听 `:8080`,代理到 `http://localhost:3000`,并在 `:9090` 上暴露指标/仪表板。 然后进行测试: ``` curl http://localhost:8080/ curl -A "python-requests/2.31.0" http://localhost:8080/.git/config curl http://localhost:9090/metrics | grep veilgate ``` 默认配置以 `observe` 模式启动。这是有意为之的:在启用 challenge 或 tarpit 行为之前,您应该先建立正常流量的基线。 ## 操作模式 | 模式 | 使用时机 | 行为 | | --- | --- | --- | | `observe` | 初始推出和调整 | 对流量进行评分和记录,始终转发至上游 | | `challenge` | 您已准备好中断可疑客户端时 | 中等评分的流量需完成工作量证明 | | `tarpit` | 您准备好欺骗高置信度代理时 | 高评分流量收到伪造的应用响应 | | `auto` | 您希望由阈值驱动每个请求的执行策略时 | 低于阈值的流量放行,中等评分进行 challenge,高评分进行 tarpit | 推荐的推出步骤: 1. 运行 `observe` 模式至少数天。 2. 检查指标和事件样本以确认是否存在误报。 3. 对模棱两可的流量启用 `challenge`。 4. 在阈值适应您的环境后启用 `tarpit`。 ## 配置 从 [configs/veilgate.yaml](configs/veilgate.yaml) 开始: ``` listen: ":8080" upstream: "http://localhost:3000" mode: "observe" rules_dir: "./rules" detector: score_challenge_threshold: 40 score_tarpit_threshold: 70 trusted_ips: [] trusted_proxies: [] metrics: listen: ":9090" ``` 完整参考:[docs/CONFIG_REFERENCE.md](docs/CONFIG_REFERENCE.md)。 ## 文档 - [入门指南](docs/GETTING_STARTED.md):本地运行与初步检查。 - [配置参考](docs/CONFIG_REFERENCE.md):`veilgate.yaml` 与规则文件。 - [部署](docs/DEPLOYMENT.md):Linux/systemd 安装。 - [架构](docs/ARCHITECTURE.md):请求流程与子系统设计。 - [运维](docs/OPERATIONS.md):指标、仪表板、警报与例行检查。 - [模型卡](docs/MODEL_CARD.md):ML 信号行为与局限性。 - [威胁模型](THREAT_MODEL.md):VeilGate 能防护与不能防护的内容。 ## 安全说明 - 仅将 VeilGate 部署在您拥有或运营的系统前面。 - 不要将 metrics 监听器直接暴露在公共互联网上。 - 在使用 `challenge` 或 `tarpit` 模式之前,请设置 `VEILGATE_SECRET` 或 `challenge.secret`。如果使用默认的 challenge 密钥,VeilGate 将拒绝在 `observe` 模式之外启动。 - 将 `rules/` 目录下的文件视为安全策略。对它们进行审查和版本控制。 - 从保守的阈值开始,并根据观察到的流量进行调整。 ## 开发 ``` make test make fmt make build ``` 顶层的 [tests](tests) 文件夹包含黑盒集成测试。 包私有的单元测试位于其相应的包旁边,因为它们验证的是未导出的 detector、TLS 指纹、tarpit 和 ML 辅助程序。 ## 许可证 Apache-2.0。详见 [LICENSE](LICENSE)。
标签:AI安全, Apex, API安全, BOF, Chat Copilot, CISA项目, DNS解析, EVTX分析, Go语言, HTTP/2指纹, JA3指纹, JA4指纹, JSON输出, SQLi防御, Web安全, XSS防御, 反向代理, 威胁情报, 安全代理, 安全评分, 密码管理, 开发者工具, 开源项目, 异常检测, 成本施加, 插件系统, 日志审计, 机器人检测, 机器学习, 欺骗技术, 欺骗防御, 流量清洗, 浏览器指纹, 程序破解, 红队防御, 网络安全, 自动化攻击防御, 自定义请求头, 蓝队分析, 蜜罐, 蜜饵, 证书利用, 请求响应过滤, 隐私保护