Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/maverickaayush/onus
РазведкаСканеры уязвимостейКартирование сетиСканирование портовПеречисление DNS и поддоменовВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеБезопасность ИИ
GitHubmaverickaayush/onus

ONUS

Локально размещаемая VAPT-платформа, изолированная от внешних сетей, которая запускает 8 параллельных модулей сканирования, детерминированно оценивает находки по CVSS v3.1 и формирует PDF-отчёты с необязательными рекомендациями по устранению, генерируемыми ИИ через локальную LLM.

10227 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
РепозиторийСайт

ONUS — автоматизированная оценка уязвимостей и тестирование на проникновение

License: MIT CI

ONUS — находите риски безопасности раньше, чем это сделают злоумышленники.

Создано maverickaayush.

Локально размещаемый автономный (air-gapped) VAPT-инструмент: укажите авторизованный целевой домен — и он запустит 8 модулей сканирования параллельно, детерминированно оценит каждую находку (CVSS v3.1), при желании добавит сгенерированные локальной LLM описания на простом английском языке и сформирует PDF-отчёт плюс живой веб-дашборд. Никаких внешних API-вызовов — всё работает в вашей собственной сети.

Два способа запуска ONUS:

  • Самостоятельный хостинг (этот репозиторий): docker compose up → введите домен → отметьте галочкой окно авторизации → сканирование. Никакого аккаунта, входа или проверки email — по замыслу он рассчитан на одного оператора, и всё описанное ниже относится именно к этому пути.
  • Хостинг: управляемый экземпляр доступен на tryonus.tech. Он добавляет функции только для продакшена (аккаунты / вход через OAuth, очередь сканирования, история для каждого пользователя), которые по умолчанию выключены в этом репозитории, поэтому самостоятельный хостинг остаётся простым. См. Самостоятельный хостинг vs хостинг.

Возможности

  • 8 параллельных модулей сканирования (Celery) — разведка сети (порты/сервисы/поддомены/DNS/WHOIS), сканирование веб-приложений (ZAP + Nikto + Katana), конфигурация SSL/TLS, HTTP security-заголовки, проверки OWASP Top 10, определение технологий/обнаружение WAF, сканирование CVE (Nuclei), перечисление каталогов (FFUF).
  • Детерминированная оценка CVSS v3.1 — уровень серьёзности, показатель/вектор CVSS, приоритет и категория OWASP вычисляются по каталогу правил и никогда не угадываются LLM. Два запуска одного и того же сканирования дают побайтово идентичные числовые поля.
  • Проверка достоверности — находки пассивно перепроверяются (только неразрушающее повторное наблюдение) и помечаются как подтверждённые / вероятные / непроверенные, а не молча отбрасываются.
  • Опциональный локальный ИИ-анализ — Ollama + Qwen 2.5 7B превращает оценённые находки в описания на простом английском и шаги по устранению. Полностью автономно (air-gapped); инструмент работает и без этого (см. «Быстрый старт» ниже).
  • Учёт контекста и практические рекомендации по устранению — каждая находка завершается конкретным следующим шагом. Стабильные проблемы используют детерминированные шаблоны; действительно зависящие от контекста — ИИ; а обнаружение управляемых платформ (Vercel / Cloudflare / Netlify / GitHub Pages / …) означает, что находка TLS, принадлежащая платформе, сообщает, кто контролирует этот уровень и что делать дальше, вместо невыполнимого совета «отредактируйте конфиг сервера».
  • PDF-отчёт + веб-дашборд — отчёт, отрисованный с помощью WeasyPrint, и дашборд Next.js, оба работают на одних и тех же оценённых/описанных находках.

Самостоятельный хостинг vs хостинг

Путь самостоятельного хостинга по умолчанию намеренно прост: без регистрации, без проверки email, без OAuth. Функции только для хостинга (аутентификация, очередь сканирования) находятся за конфигурационными флагами, которые по умолчанию выключены (REQUIRE_AUTH=false, HOSTED_QUEUE_ENABLED=false; см. Конфигурация) и не заданы в docker-compose.yml — поэтому локальный запуск ONUS никогда не прячет вас за логином. Предпочитаете нулевую настройку? Используйте хостинг на tryonus.tech.

Скриншоты

Новое сканированиеСтатус живого сканирования
Форма нового сканированияСтраница статуса сканирования
Дашборд отчётаОбнаружение сканирований
Дашборд отчётаДашборд обнаружения сканирований

Архитектура

root@kitploit:~
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 (быстрый поиск для частых изменений).

Предварительные требования

  • Docker + Docker Compose v2
  • ~8 ГБ свободного места на диске. Собранные образы в сумме составляют ~6,8 ГБ (backend и worker — по ~3,25 ГБ каждый: они включают шаблоны Nuclei и headless Chromium через Playwright, плюс ~270 МБ фронтенд), а самой сборке дополнительно нужен запас.
  • ~6 ГБ свободной оперативной памяти. Только сайдкар ZAP ограничен 4 ГБ (mem_limit: 4g), а рядом с ним работают Postgres, Redis, API, worker и фронтенд.
  • Первая сборка занимает примерно 10–15 минут при нормальном соединении.

Быстрый старт

См. «Предварительные требования» выше: ~8 ГБ на диске и ~6 ГБ ОЗУ; рассчитывайте на 10–15 минут для первой сборки.

root@kitploit:~
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 по умолчанию рассчитан на одного оператора — между открытием дашборда и сканированием нет ни одного шага с аккаунтом.

Работает и без установки Ollama. Оценка CVSS/серьёзности/приоритета всегда детерминированная (analysis/cvss_scorer.py) — если Ollama не запущен, находки получают шаблонное описание на основе правил вместо сгенерированного ИИ текста. Чтобы включить эту функцию, см. раздел «Опционально: включение ИИ-генерируемых описаний» ниже.

Для работы инструмента не требуется ни одного API-ключа. Все обёрнутые в него инструменты сканирования (nmap, ZAP, Nikto, testssl.sh, Nuclei, Amass, Naabu, httpx, WhatWeb, WAFW00F, FFUF) и сам Ollama работают вообще без ключей. Шаг копирования конфига subfinder выше — единственное необязательное исключение: оставить его как пустой шаблон — нормально, subfinder просто будет работать только с бесплатными/публичными источниками. Чтобы углубить перебор поддоменов, вы можете добавить в этот файл до двух ключей бесплатного тарифа перед запуском: GitHub personal access token и API-ключ ProjectDiscovery Chaos — см. комментарии внутри provider-config.yaml.example.

Опционально: включение ИИ-генерируемых описаний

Ollama запускается нативно на хосте (не в Docker), чтобы напрямую использовать GPU хоста; контейнеры обращаются к нему через host.docker.internal.

  1. Установите Ollama на хост: https://ollama.com/install.sh
  2. Скачайте модель: ollama pull qwen2.5:7b
  3. Сделайте Ollama доступным из контейнеров Docker (по умолчанию Ollama слушает только 127.0.0.1, недоступный для bridge-сети Docker):
    root@kitploit:~
    sudo systemctl edit ollama
    
    Добавьте в раздел [Service]:
    root@kitploit:~
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0:11434"
    
    Сохраните, затем:
    root@kitploit:~
    sudo systemctl daemon-reload && sudo systemctl restart ollama
    
    Примечание: это делает Ollama доступным из вашей локальной сети, а не только из Docker — на личной машине это нормально, а на общей стоит добавить правило файрвола.
  4. Проверьте: curl http://localhost:11434/api/tags
  5. Перезапустите backend/worker, чтобы они подхватили изменения: docker compose restart backend worker

Опционально: тренировочные цели

В compose-файле также определены 12 намеренно уязвимых тренировочных приложений (Juice Shop, DVWA, bWAPP, Mutillidae, NodeGoat, DVWP/WordPress за WAF ModSecurity, Metasploitable2, WebGoat) — чтобы опробовать сканер на чём-то, не имея собственной авторизованной цели. Они находятся за профилем Compose, поэтому по умолчанию никогда не собираются и не запускаются:

root@kitploit:~
docker compose --profile targets up -d

Предупреждение: это намеренно уязвимые сервисы, некоторые с настоящими бэкдорами (Metasploitable2 поставляется с живым бэкдором vsftpd). Запускайте профиль targets только на машине, недоступной из интернета или общей сети, — никогда на публичном облачном инстансе или открытом хосте.

Большинство из них запускаются из готовых образов и не требуют ничего дополнительного. Два приложения — nodegoat и dvwp-wordpress — собираются из исходников, которые не включены в этот репозиторий, и их сначала нужно клонировать:

root@kitploit:~
git clone https://github.com/OWASP/NodeGoat nodegoat-src
git clone https://github.com/vavkamil/dvwp dvwp-src

Публикуемые порты после запуска: Juice Shop :3001, DVWA :8081, bWAPP :8083, Mutillidae :8084, NodeGoat :8085, DVWP (через WAF, TLS) :8444, WebGoat :8082. Metasploitable2 не публикует порты на хосте (доступен только из backend/worker через внутреннюю сеть Docker), поскольку он открывает реальные бэкдорные/неаутентифицированные сетевые сервисы.

Конфигурация

Переменные окружения задаются через .env (копируется из .env.example):

Указанные выше значения POSTGRES_PASSWORD/SECRET_KEY по умолчанию предназначены только для демо — они подходят для локального/личного инстанса, но перед развёртыванием в любом месте, доступном другим людям, измените оба. Теперь это принудительно, а не просто рекомендация: установите ONUS_ENV=production (или включите hosted-аутентификацию) — и backend откажется запускаться, пока хотя бы одно из значений остаётся значением по умолчанию/заглушкой. Сгенерируйте надёжный ключ командой python -c "import secrets; print(secrets.token_urlsafe(48))".

Функции только для хостинга по умолчанию выключены. REQUIRE_AUTH (аккаунты / вход через OAuth) и HOSTED_QUEUE_ENABLED (очередь сканирования) по умолчанию равны false и не заданы в docker-compose.yml, поэтому self-hosted ONUS никогда не ставит вас за логин или очередь. Оставьте их выключенными, если вы намеренно не строите многопользовательское hosted-развёртывание — управляемый инстанс tryonus.tech — это тот самый случай, когда их включают.

Аналитика (опционально)

ONUS по умолчанию не содержит аналитики — ничего не загружается, и никакие данные не покидают браузер. Чтобы собирать анонимные метрики использования продукта в вашем развёртывании, задайте один Measurement ID Google Analytics 4:

root@kitploit:~
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX

Это переменная времени сборки фронтенда, поэтому задайте её в окружении сборки фронтенда (переменная окружения Vercel/хостинга или frontend/.env.local для локальной npm run build). Когда она задана, GA загружается только в production-сборках и отслеживает просмотры страниц плюс несколько продуктовых событий (например, scan_started, scan_completed, report_downloaded). Пользовательские события проходят через типизированный хелпер в frontend/lib/analytics.ts — trackEvent('scan_started').

Конфиденциальность: отправляются только анонимные события использования с низкой кардинальностью — никогда домены сканирования, результаты сканирования, находки, содержимое отчётов, состояние авторизации или любые персональные данные. Оставьте NEXT_PUBLIC_GA_ID незаданным, и ONUS будет вести себя ровно как раньше; аналитика полностью опциональна.

Документация API

FastAPI бесплатно генерирует интерактивную документацию Swagger — когда backend запущен, откройте http://localhost:8000/docs.

Остановка

root@kitploit:~
docker compose down

Логи

root@kitploit:~
docker compose logs -f backend worker

Тестирование и проверка

root@kitploit:~
pip install -r backend/requirements-dev.txt
pytest backend/tests

На момент написания — 655 автоматизированных тестов backend. Помимо набора модульных/интеграционных тестов, инструмент в ходе разработки проверялся end-to-end: выполнено 79 реальных сканирований и сформировано 124 PDF-отчёта по девяти намеренно уязвимым тренировочным приложениям (DVWA, Juice Shop, Mutillidae, NodeGoat, bWAPP, WebGoat, Metasploitable2, DVWP/WordPress за WAF) плюс одна авторизованная публичная цель (testphp.vulnweb.com) — это не гипотетические цифры. Сканируйте только те цели, на тестирование которых у вас есть явное разрешение, — см. docs/test_findings.md о тренировочных целях, использовавшихся при разработке.

Документация

  • ARCHITECTURE.md — полная архитектура, схемы и контракты, которые изменение не должно нарушать. Прочтите это перед внесением существенных изменений.
  • docs/QUICK_REF.md — команды запуска, назначение папок, «где мне внести это изменение».
  • docs/scanners.md — обоснование таймингов/флагов каждого модуля сканирования.
  • docs/ai.md — настройка таймаутов/контекста Ollama, почему оценка полностью ушла из LLM.
  • docs/docker.md — заметки об отклонениях Docker и грабли при сборке.
  • docs/troubleshooting.md — как вручную протестировать любой модуль/этап изолированно.
  • docs/roadmap.md — историческая последовательность сборки (сборка завершена).
  • CONTRIBUTING.md — настройка разработки, тесты, ожидания по PR.

Лицензия

MIT — см. LICENSE.

Только авторизованное использование

Сканирование целей без явного письменного разрешения незаконно в соответствии с IT Act 2000 (Индия) и аналогичными международными законами. Этот инструмент требует подтверждения авторизации при каждом сканировании и записывает оператора

  • метку времени для подотчётности.
Скачать инструмент
ONUS — Локально размещаемая VAPT-платформа, изолированная от внешних сетей, которая запускает 8 параллельных модулей сканирования, детерминированно оценивает находки по CVSS v3.1 и формирует PDF-отчёты с необязательными рекомендациями по устранению, генерируемыми ИИ через локальную LLM. | Kitploit
Самостоятельный хостинг (этот репозиторий)Хостинг (tryonus.tech)
Установкаdocker compose upне требуется — просто откройте сайт
Входнет — один оператораккаунт / Google / GitHub OAuth
Процесс сканированиядомен → окно авторизации → сканированието же самое, после входа
Дополнительно-очередь сканирования, история пользователя, почта на хостинге
Где запускаетсяваша собственная сеть, air-gappedуправляемое облако
ПеременнаяПо умолчаниюНазначение
POSTGRES_PASSWORDvapt_secure_2025Пароль базы данных
SECRET_KEYchange_me_to_a_long_random_stringСекретный ключ backend
ALLOWED_HOSTSlocalhost,127.0.0.1Разрешённые хосты FastAPI
OLLAMA_URLhttp://host.docker.internal:11434Адрес, по которому backend/worker обращаются к Ollama
SCAN_TIMEOUT_MULTIPLIER1.5Масштабирует таймауты инструментов/Celery для каждого модуля — реальные цели медленнее лабораторных; уменьшите до 1.0 для лабораторных таймингов
MAX_CONCURRENT_SCANS3Ограничение одновременных сканирований (защита от исчерпания ресурсов / вежливость к цели, также задаёт размер пула подключений к БД)
ONUS_ENVdevelopmentdevelopment (self-hosted localhost — слабые секреты лишь вызывают предупреждение) или production (слабые SECRET_KEY/пароль Postgres приводят к жёсткому отказу при запуске)