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

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

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

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

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

Категории

Все категории
Loading categories
VulnReach — Runtime-aware SCA — доказывает, какие CVE реально достижимы, а не просто установлены. | Kitploit
Инструменты/GitHubGitHub/owasp/vulnreach
Статический анализСканеры уязвимостейДинамический анализ (песочница)Анализ уязвимостейАнализ КодаВеб-безопасностьDevSecOpsБезопасность Цепочки Поставок
GitHubowasp/vulnreach

VulnReach

Runtime-aware SCA — доказывает, какие CVE реально достижимы, а не просто установлены.

Репозиторий
818418 дней назадЕщё не проверено
Сайт

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

VulnReach

SCA с учётом среды выполнения — доказывает, какие CVE действительно достижимы, а не просто установлены.

OWASP Project License Python

VulnReach теперь официальный OWASP Project. 🎉

Демо

VulnReach Demo

Шаг 1 — SCA выявляет 74 CVE среди зависимостей

Trivy SCA output — 74 vulnerabilities detected

Шаг 2 — VulnReach доказывает, какие из них действительно достижимы

Fix Plan — 7 packages, 50 confirmed reachable CVEs with upgrade targets


Находки — цепочка доказательств по каждой CVE

Dynamically reachable findings with full evidence chain

Дашборд — 42 подтверждённых достижимых в 9 репозиториях

VulnReach Dashboard

Поддержка языков: Python полностью готов к продакшену (taint, AST, route, runtime). Java и JavaScript имеют функциональный анализ графа вызовов и являются экспериментальными. Go, C# и PHP — в планах. Подробности см. в ROADMAP.md.

VulnReach строится на стандартном выводе SCA, добавляя контекст достижимости — доказывая с помощью статического анализа, отслеживания taint-потоков и покрытия во время выполнения, какие из обнаруженных CVE действительно могут быть достигнуты в вашем приложении.


Статус проекта

Последние разработки (выпущено)

  • Параллельный конвейер запуска с учётом зависимостей для более быстрого сканирования
  • Достижимость Python — готово к продакшену (taint, AST, route, runtime — все слои функциональны)
  • Достижимость Java — функциональный граф вызовов с разбором зависимостей Maven/Gradle (экспериментально)
  • Достижимость JavaScript — функциональный граф вызовов с определением точек входа маршрутов (экспериментально)
  • Отмена сканирования — POST /scan/{id}/cancel останавливает выполняющиеся сканирования
  • Стабильный контракт ответа сканирования: summary + классифицированные группы в GET /scan/{id}
  • Общая нормализация ответа сканирования между API и локальным режимом пакета (паритет)
  • Безопасная по умолчанию граница среды выполнения:
    • базовый compose запускается без монтирования Docker-сокета
    • динамические сканирования требуют явного согласия через VULNREACH_ALLOW_DOCKER_DAEMON=true
    • профиль runtime использует ограниченный docker-socket-proxy
  • Детерминированные проверки качества фикстур для Java/JavaScript/Go в CI
  • Принят как официальный OWASP Project — owasp.community/projects/vulnreach
  • Эндпоинт AI next-steps — POST /findings/{id}/next-steps формирует ориентированные на аналитика рекомендации по устранению (немедленные действия, проверочные пробы, пути обновления, мониторинг) для детерминированной находки. Ленивый / по требованию: сканирования никогда не вызывают LLM, а сбои LLM деградируют корректно. Детерминированный вердикт доступен только для чтения. См. docs/api.md.

Экспериментально

  • Режим трассировки scan.runtime.ebpf (ориентирован на Linux, явное согласие)
  • AI-ассистированная генерация OpenAPI и потоки Intelligent DAST

См.:

  • docs/incubator-readiness.md
  • docs/threat-model.md

Как это работает

Каждая CVE классифицируется через пятиуровневую цепочку доказательств:

1. SCA (Trivy)              → is the package installed and vulnerable?
2. Taint analysis (tainter) → does user input flow to the vulnerable sink?
3. AST analysis             → is the vulnerable function in your call graph?
4. Route exposure           → is the call path reachable from an HTTP endpoint?
5. Runtime coverage         → was the vulnerable code actually executed?

Результат — приоритизированный список находок с четырьмя уровнями:

УровеньЗначение
DYNAMICALLY_REACHABLEПокрытие во время выполнения подтвердило исполнение — исправлять немедленно
STATICALLY_REACHABLEПуть в коде доказан через AST/taint — высокий приоритет
UNCERTAINТолько слабый сигнал — исследовать
NOT_REACHABLEНет доказательств — исключить из очереди оповещений

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

С Docker Compose (рекомендуется)

Уведомление о безопасности — перед запуском скопируйте .env.example в .env.local и замените каждое значение CHANGE_ME на надёжный случайный секрет.
Не выставляйте VulnReach в публичную сеть без установки реальных учётных данных и настройки CORS_ORIGINS.

git clone https://github.com/ihrishikesh0896/vulnreach.git
cd vulnreach

# 1. Create your local config
cp .env.example .env.local

# 2. Fill in every CHANGE_ME — generate secrets with: openssl rand -hex 32
$EDITOR .env.local

# 3. Start the stack
docker compose up --build

# Optional: enable dynamic runtime scans (Docker daemon access via restricted socket proxy)
# docker compose -f docker-compose.yml -f docker-compose.runtime.yml up --build

Запуск сканирования

Варианты аутентификации:

  • Краткоживущий JWT: POST /login
  • Долгоживущий API-токен (API-ключ): создайте в UI Settings -> API Keys, затем используйте как Authorization: Bearer <API_KEY>
# Get a token (replace with the credentials you set in .env.local)
TOKEN=$(curl -s -X POST http://localhost:8000/login \
  -H "Content-Type: application/json" \
  -d '{"username":"<your-admin-user>","password":"<your-admin-password>"}' | jq -r .access_token)

# Start scan from a GitHub repo
curl -X POST http://localhost:8000/scan \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"repo_url":"https://github.com/yourorg/yourapp"}'

# Poll for results
curl http://localhost:8000/scan/<scan_id> \
  -H "Authorization: Bearer $TOKEN" | jq .summary

Возможности

  • SCA с фильтрацией по достижимости — классифицирует каждую CVE по силе доказательств, а не только по оценке CVSS
  • Подтверждение во время выполнения — сбор покрытия на базе Docker через coverage.py
  • Отслеживание taint-потоков — трассирует пользовательский ввод → уязвимые стоки (SQL, subprocess, YAML, pickle)
  • DAST с управлением LLM — Claude/OpenAI/Ollama генерирует и валидирует эксплойт-пейлоады (опционально)
  • Шлюзы CI/CD — policy.block_if проваливает сборки при подтверждённых критических находках; запуск и шлюз через curl — см. docs/ci-cd-gating.md
  • JWT-аутентификация — многопользовательский доступ на основе ролей (admin / analyst)
  • API-токены (API-ключи) — долгоживущая машинная аутентификация для curl/CI (Authorization: Bearer <API_KEY>)
  • Экспорт в PDF — GET /scan/{id}/export/pdf
  • Без привязки к вендору — функции LLM по умолчанию provider: none; поддерживается Ollama для офлайн-использования

На практике

Скачать инструмент