Trusted-Bypass
Trusted-Bypass
Self-hosted DPI bypass + DevSecOps pipeline. Xray VLESS+Reality+XTLS-Vision, собранный из исходников, проверенный 8-стадийным security gate перед деплоем.
Зачем
Обход Deep Packet Inspection без доверия к чужим бинарникам. Xray компилируется из исходников в -контейнер (~25MB), а перед каждым деплоем проходит автоматический аудит шестью инструментами — от Google Capslock до govulncheck.
Структура
Trusted-Bypass/
├── .gitverse-ci.yml ← 8-job Security Gate pipeline
│
├── proxy/ ← Xray VLESS+Reality сервер/клиент
│ ├── Dockerfile Multi-stage: golang:1.26 → scratch
│ ├── docker-compose.yml Сервер (read_only, cap_drop ALL)
│ ├── docker-compose.client.yml Клиент (127.0.0.1:10808/10809)
│ ├── setup.sh Автоустановщик + генерация ключей
│ └── config-templates/
│ ├── server.jsonc VLESS+Reality+XTLS-Vision
│ ├── client-full.jsonc Весь трафик через прокси
│ ├── client-split.jsonc Только заблокированные сайты
│ └── client-gaming.jsonc Split-tunnel для игр
│
├── security-scanner/ ← Локальный сканер + Xray аудит
│ ├── Dockerfile Go 1.26 + все инструменты
│ ├── scan.sh 5 стадий → PASS/WARN/BLOCKED
│ └── audit-xray.sh 6-tool deep audit Xray-core
│
└── docs/
├── CLIENTS.md Клиенты: Android, iOS, Windows, macOS
├── CUSTOMIZATION.md Смена версии, протокола, транспорта
├── NO-LATENCY-GAMING.md Почему CS2/Dota 2 не тормозит
└── SECURITY-MODEL.md Модель угроз и архитектура защиты
Быстрый старт
1. Аудит Xray (перед первым деплоем)
Результат: или с описанием найденных проблем.
2. Деплой прокси
генерирует x25519 keypair, UUID, выбирает SNI. Конфиг сервера создаётся из шаблона автоматически.
3. Подключение клиентов
Сервер = SOCKS5 на + HTTP на . Игры через системный прокси не ходят → нулевой оверхед. Подробности в docs/CLIENTS.md.
Для Android: v2rayNG или HiddifyNG. Скопируй share link из вывода .
Security Gate — CI/CD Pipeline
запускается автоматически на push/PR. Пока pipeline красный — деплой заблокирован.
Архитектура
push/PR ──┬── 🔑 Secrets (Gitleaks) ──┐
├── 📦 SCA (Trivy) ──┤
├── 🔍 SAST (Semgrep) ──┤
├── 🏗 IaC (Trivy + Checkov) ──┼── 🐳 Container ── 🏁 Quality Gate
└── 🛡 Xray Source Audit (6 tools) ──┘ (Trivy)
7 сканов → Quality Gate
| # | Job | Инструмент | Что проверяет | Блокирует? |
|---|---|---|---|---|
| 1 | Secrets | Gitleaks 8.24+ | API-ключи, пароли, токены в коде | Любой leak |
| 2 | SCA | Trivy 0.69+ | CVE в зависимостях твоего репо | CRITICAL/HIGH |
| 3 | SAST | Semgrep 1.156+ | Уязвимости в твоём коде | ERROR severity |
| 4 | IaC | Trivy + Checkov | Dockerfile, compose misconfigs | CRITICAL/HIGH |
| 5 | Xray Audit | 6 инструментов | Исходники Xray-core (см. ниже) | CVE / backdoor |
| 6 | Container | Trivy image | CVE в собранном Docker-образе | CRITICAL/HIGH |
| 7 | Quality Gate | — | Агрегация всех результатов | Любой FAIL |
Xray Source Audit — 6 инструментов
Самая тяжёлая стадия. Клонирует Xray-core указанной версии и прогоняет:
| # | Инструмент | Что делает | Результат для v26.2.6 |
|---|---|---|---|
| 1 | Google Capslock | Карта capabilities: NETWORK, FILES, EXEC на зависимость | NETWORK: 1938, FILES: 1389, EXEC: 1285 — ожидаемо для прокси |
| 2 | govulncheck | Call-graph анализ: достижимы ли уязвимые функции из кода Xray | ✅ PASS — нет reachable CVE |
| 3 | gosec (audit mode) | Go SAST максимальной чувствительности | ⚠ 932 issues (365 HIGH) — ожидаемо для low-level сетевого кода |
| 4 | Semgrep (6 rulesets) | golang, gosec, trailofbits, security-audit, owasp, secrets | ⚠ 374 findings — в основном в |
| 5 | Trivy SCA | CVE в зависимостях Xray | ✗ CVE-2026-33186 CRITICAL в grpc v1.78.0 |
| 6 | Backdoor grep | Hardcoded IP, C2 домены, plugin loading, key export, os/exec | ⚠ 36 patterns — всё легитимные transport registrations |
Блокирующие: govulncheck FAIL, Trivy CRITICAL/HIGH, Semgrep ERROR. Информационные: gosec, Semgrep WARNING, Backdoor WARN — шум, ожидаемый для сетевого прокси.
Текущий статус: CVE-2026-33186
Pipeline сейчас BLOCKED из-за CVE-2026-33186 (CVSS 9.1) — обход авторизации в gRPC-Go < 1.79.3. Xray v26.2.6 использует grpc v1.78.0.
Эксплуатируемо ли это в Xray? Нет. govulncheck подтверждает: уязвимый путь (path-based RBAC interceptors) не вызывается из кода Xray. Xray использует grpc только для внутреннего commander API, не как публичный gRPC-сервер с авторизацией по path.
Что делать: дождаться обновления Xray с grpc v1.79.3, затем обновить в . Pipeline автоматически покажет PASS.
Смена версии Xray
В (одно место):
В :
Proxy: технические детали
Протокол: VLESS + Reality + XTLS-Vision. Reality мимикрирует под реальный TLS-сайт (по умолчанию ), не оставляя fingerprint для DPI.
Docker-образ: Multi-stage build — собирает из git tag, финальный образ (~25MB). Запускается как , , .
Клиент: SOCKS5 на , HTTP на . Xray — прокси, не VPN. Приложения, которые не используют системный прокси (игры), идут напрямую.
Конфиги:
— весь трафик через проксиclient-full.jsonc— только заблокированные сайты (через geosite/geoip)client-split.jsonc— split-tunnel, игровой трафик идёт напрямуюclient-gaming.jsonc
Платформа
GitVerse CI — формат совместим с GitHub Actions. Для GitHub:
Ограничения GitVerse runner (уже учтены в pipeline):
- Нет Docker-in-Docker → container-scan информационный
- Нет доступа к GitHub Releases → Go-тулзы через
, Trivy через aptgo install - PEP 668 → pip --break-system-packages
- Prisma Cloud недоступен → CHECKOV_RUN_SCP_SCANS=false
FAQ
CS2/Dota 2 тормозит? Нет. Xray = SOCKS5/HTTP прокси на localhost. Игры не используют системный прокси → 0ms дополнительной задержки. Подробнее
Почему не VPN? VPN гоняет ВЕСЬ трафик через туннель, включая игры. Прокси позволяет split-tunneling — браузер через Xray, игры напрямую.
Почему pipeline блокируется из-за CVE в чужом коде? Defense in depth. Даже если govulncheck говорит "не эксплуатируемо", зависимость с CRITICAL CVE — это технический долг. Pipeline явно сообщает об этом и объясняет impact.
Можно ли автофиксить findings? Нет — это сторонний код (Xray). gosec 932 issues и Semgrep 374 findings — это не баги, а архитектурные решения авторов (unsafe pointer, low-level sockets). Автофикс сломает прокси.
Почему Trivy ставится через apt, а не GitHub Action? 19 марта 2026 GitHub Actions для Trivy были скомпрометированы (75 тегов переписаны со стилером). Ставим бинарник напрямую из apt-репозитория Aqua Security.
Что за в логе Quality Gate?
Косметика GitVerse act-runner. При резолве графа зависимостей он логирует предупреждение для каждого dependency-job, чьё полное определение недоступно на текущем раннере. Результаты () передаются корректно.
Лицензия
Apache License v2