
Локально размещаемая VAPT-платформа, изолированная от внешних сетей, которая запускает 8 параллельных модулей сканирования, детерминированно оценивает находки по CVSS v3.1 и формирует PDF-отчёты с необязательными рекомендациями по устранению, генерируемыми ИИ через локальную LLM.
Создано maverickaayush.
Локально размещаемый автономный (air-gapped) VAPT-инструмент: укажите авторизованный целевой домен — и он запустит 8 модулей сканирования параллельно, детерминированно оценит каждую находку (CVSS v3.1), при желании добавит сгенерированные локальной LLM описания на простом английском языке и сформирует PDF-отчёт плюс живой веб-дашборд. Никаких внешних API-вызовов — всё работает в вашей собственной сети.
Два способа запуска ONUS:
- Самостоятельный хостинг (этот репозиторий):
docker compose up→ введите домен → отметьте галочкой окно авторизации → сканирование. Никакого аккаунта, входа или проверки email — по замыслу он рассчитан на одного оператора, и всё описанное ниже относится именно к этому пути.- Хостинг: управляемый экземпляр доступен на tryonus.tech. Он добавляет функции только для продакшена (аккаунты / вход через OAuth, очередь сканирования, история для каждого пользователя), которые по умолчанию выключены в этом репозитории, поэтому самостоятельный хостинг остаётся простым. См. Самостоятельный хостинг vs хостинг.
| Самостоятельный хостинг (этот репозиторий) | Хостинг (tryonus.tech) | |
|---|---|---|
| Установка | docker compose up | не требуется — просто откройте сайт |
| Вход | нет — один оператор | аккаунт / Google / GitHub OAuth |
| Процесс сканирования | домен → окно авторизации → сканирование | то же самое, после входа |
| Дополнительно | - | очередь сканирования, история пользователя, почта на хостинге |
| Где запускается | ваша собственная сеть, air-gapped | управляемое облако |
Путь самостоятельного хостинга по умолчанию намеренно прост: без регистрации, без
проверки email, без OAuth. Функции только для хостинга (аутентификация, очередь
сканирования) находятся за конфигурационными флагами, которые по умолчанию
выключены (REQUIRE_AUTH=false, HOSTED_QUEUE_ENABLED=false; см.
Конфигурация) и не заданы в docker-compose.yml — поэтому локальный
запуск ONUS никогда не прячет вас за логином. Предпочитаете нулевую настройку?
Используйте хостинг на tryonus.tech.
| Новое сканирование | Статус живого сканирования |
|---|---|
![]() | ![]() |
| Дашборд отчёта | Обнаружение сканирований |
|---|---|
![]() | ![]() |
domain → [recon | webscan | ssl_tls | headers | owasp | tech_fingerprint | nuclei | enumeration] (parallel, Celery)
→ any module failed/timed out? → pause for operator retry/continue/cancel
→ aggregator (dedup + OWASP-map + sort)
→ confidence verification (passive re-observation)
→ deterministic CVSS scoring
→ Ollama (Qwen 2.5 7B) AI analysis
→ WeasyPrint PDF + PostgreSQL
→ dashboard / PDF download
Шесть уровней: фронтенд Next.js → FastAPI → Celery/Redis → 8 параллельных
модулей сканирования → Ollama (Qwen 2.5 7B) → WeasyPrint PDF + дашборд.
Подробности — в ARCHITECTURE.md (схемы, контракты,
ограничения) и docs/QUICK_REF.md (быстрый поиск для частых изменений).
mem_limit: 4g), а рядом с ним работают Postgres, Redis, API, worker и фронтенд.См. «Предварительные требования» выше: ~8 ГБ на диске и ~6 ГБ ОЗУ; рассчитывайте на 10–15 минут для первой сборки.
cp .env.example .env
cp backend/subfinder-config/provider-config.yaml.example backend/subfinder-config/provider-config.yaml
docker compose up -d
docker compose ps # wait for zap to report healthy (~2 min)
Откройте http://localhost:3000, введите домен, отметьте галочкой окно авторизации и запустите сканирование.
Без входа, регистрации или проверки email. Самостоятельно размещённый ONUS по умолчанию рассчитан на одного оператора — между открытием дашборда и сканированием нет ни одного шага с аккаунтом.