Перейти к содержимому
Главная
Документацияv1.0

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

Описание функциональных характеристик и информация, необходимая для установки и эксплуатации программного обеспечения.

Дата

21 марта 2026 г.

Правообладатель

ИП Аганова В.А.

ИНН 236502087988

Сайт

vahrest.ru

1Общие сведения

НаименованиеVAHREST — платформа автоматизированного тестирования безопасности API
Версия1.0
ПравообладательИП Аганова Виктория Асатуровна (ИНН 236502087988, ОГРНИП 322237500121672)
Класс ПОСредство анализа защищённости
Модель распространенияSaaS и On-premise
Адрес сайтаhttps://vahrest.ru

VAHREST предназначен для автоматизированного обнаружения уязвимостей в API, оценки соответствия требованиям информационной безопасности и формирования отчётов для регуляторного аудита.

2Описание функциональных характеристик программного обеспечения

Данный раздел содержит полное описание функциональных характеристик программного обеспечения VAHREST в соответствии с требованиями п. 4 «ж» Правил формирования и ведения единого реестра российских программ для электронных вычислительных машин и баз данных.

2.1Назначение

VAHREST — платформа автоматизированного тестирования безопасности API, объединяющая 35 инструментов безопасности в единую систему с централизованным управлением, оркестрацией и унифицированной моделью результатов. Платформа предназначена для:

  • Автоматизированного обнаружения уязвимостей в REST API, GraphQL, WebSocket, gRPC
  • Проверки соответствия требованиям информационной безопасности (152-ФЗ, 187-ФЗ КИИ, ГОСТ 57580, PCI DSS)
  • Комплексного анализа защищённости: DAST, SAST, SCA, фаззинг, сетевое сканирование
  • Формирования регуляторных отчётов для аудита и сертификации
  • Интеграции в CI/CD для непрерывного контроля безопасности

2.2Оркестрация сканирования

Двухуровневый движок сканирования обеспечивает параллельный запуск инструментов с межинструментным обменом данными. Сканирование проходит через последовательные фазы, внутри каждой фазы инструменты работают параллельно:

Фаза 1: RECONРазведка: обнаружение эндпоинтов, технологий, OpenAPI-спецификаций (Katana, Kiterunner, ffuf)
Фаза 2: SAST/SCAСтатический анализ кода и проверка зависимостей (Semgrep, Trivy, Gitleaks, Checkov)
Фаза 3: ACTIVE_SCANАктивное сканирование: DAST, фаззинг, проверка аутентификации (ZAP, Nuclei, SQLMap и др.)
Фаза 4: VERIFYВерификация найденных уязвимостей, генерация PoC-запросов
Фаза 5: ENRICHОбогащение: CVSS-скоринг, CWE-маппинг, OWASP-классификация, рекомендации по устранению

Пул из 10 воркеров (настраивается) обрабатывает очередь из 1500 задач с retry-механизмом (до 2 повторов, экспоненциальная задержка). Таймаут на плагин — 30 секунд. Результаты всех инструментов нормализуются в Unified Finding Model.

2.3Инструменты безопасности

Платформа интегрирует 35 инструментов безопасности в 8 категориях. Инструменты запускаются через CLI, Docker-контейнеры, API или как встроенные Go-модули:

КатегорияИнструментыТип запуска
DAST (6)OWASP ZAP, Burp Suite Pro, Wapiti, Nuclei, Nikto, SQLMapDocker / CLI / API
API Security (6)Schemathesis, Spectral, RESTler, nexus-auth-tester, nexus-ratelimit-tester, nexus-api-inventoryCLI / Go / Docker
Recon (3)Katana, Kiterunner, ffufCLI
SAST/SCA (4)Semgrep, Trivy, Gitleaks, CheckovCLI
Network/WAF (4)testssl.sh, Nmap, OpenVAS, GoTestWAFCLI / API / Docker
Compliance РФ (8)БДУ ФСТЭК, ScanOVAL, XSpider, MaxPatrol VM, RedCheck, Сканер-ВС, nexus-152fz-audit, nexus-kii-auditGo / API
Red Team (3)Metasploit, Sliver C2, Cobalt StrikeAPI / Docker
IaC/TLS (1)testssl.shCLI

Дополнительно: 17 встроенных плагинов обеспечивают 100% покрытие OWASP API Security Top 10 (2023).

2.4Профили сканирования

6 предустановленных профилей позволяют выбрать баланс между скоростью и глубиной проверки:

ПрофильИнструментовВремя
express3~5 минут
standard16~30 минут
full_security251-3 часа
before_release6 (SAST/SCA)~5 минут
pci_dss9~1 час
compliance_ru101-2 часа

Профиль express подходит для быстрой проверки в CI/CD, full_security — для полного аудита перед релизом, compliance_ru — для проверки соответствия российским стандартам.

2.5Unified Finding Model

Все результаты инструментов нормализуются в единую модель, что обеспечивает консистентное представление уязвимостей независимо от источника:

TitleНазвание уязвимости
DescriptionПодробное описание
SeverityКритичность: Critical (CVSS >= 9.0), High (>= 7.0), Medium (>= 4.0), Low (>= 0.1), Info (0)
CWEИдентификатор Common Weakness Enumeration
OWASPКатегория OWASP API Security Top 10 (2023)
CVSSЧисловой скоринг по Common Vulnerability Scoring System
EvidenceДоказательство: запрос, ответ, payload
RemediationРекомендации по устранению с примерами кода
SourceToolИнструмент-источник (ZAP, Nuclei, Semgrep и др.)
PocCurlPoC-запрос для воспроизведения (curl-формат)

Дедупликация осуществляется по SHA256-хешу от комбинации category + url + title + cwe. Если несколько инструментов обнаружили одну и ту же уязвимость, она отображается один раз с указанием всех источников.

2.6Соответствие стандартам

Встроенные модули проверки соответствия российским и международным стандартам:

152-ФЗФедеральный закон о персональных данных. Автоматизированный аудит nexus-152fz-audit
187-ФЗ / КИИЗакон о критической информационной инфраструктуре. Проверка по приказам ФСТЭК №235/№239 (nexus-kii-audit)
ГОСТ Р 57580.1-2017Безопасность финансовых операций. Автоматизированная оценка соответствия
PCI DSS v4.0Стандарт безопасности платёжных карт. Профиль сканирования pci_dss
ISO 27001:2022Международный стандарт управления информационной безопасностью

Инструменты с сертификатами ФСТЭК: XSpider (серт. №3247), RedCheck (серт. №3172), ScanOVAL, БДУ ФСТЭК.

2.7Управление доступом (RBAC)

Ролевая модель доступа с 5 базовыми ролями:

OwnerПолный доступ к организации, управление подпиской и биллингом, удаление организации
AdminУправление участниками, проектами, настройками организации, SSO-конфигурацией
Security EngineerСоздание и запуск сканирований, управление проектами, просмотр всех результатов
DeveloperПросмотр результатов, запуск экспресс-сканирований на своих проектах
ViewerТолько просмотр результатов и отчётов (read-only)

2.8Аутентификация

  • JWT-токены (httpOnly cookies): access (24ч), refresh (7 дней), partial (15 мин для 2FA)
  • Двухфакторная аутентификация (2FA): TOTP (Google Authenticator, Authy), Email-код, SMS-код, резервные коды
  • SSO/SAML 2.0 и OpenID Connect (OIDC) для корпоративной интеграции
  • OAuth 2.0: Google, GitHub, Yandex
  • Верификация email и телефона при регистрации
  • Сброс пароля через email с одноразовой ссылкой

2.9Мультитенантность

Полная изоляция данных между организациями реализована на уровне базы данных:

  • PostgreSQL Row Level Security (RLS) по org_id — каждая организация видит только свои данные
  • MinIO bucket prefixes — изоляция файлового хранилища (отчёты, артефакты сканирований)
  • Все storage-методы принимают orgID (UUID) — изоляция на уровне API
  • Отдельные API-ключи для каждой организации с scope-ограничениями

2.10AI-рекомендации

  • Автоматическая генерация рекомендаций по устранению уязвимостей с примерами кода
  • AI Triage — приоритизация уязвимостей по контексту приложения
  • False Positive Analysis — снижение ложных срабатываний
  • Мультипровайдерная LLM-архитектура — выбор на уровне конфигурации

2.11Отчётность

Генерация отчётов в форматах:

PDFПолный отчёт с графиками, рекомендациями и executive summary. Подходит для руководства и регуляторов
SARIFStatic Analysis Results Interchange Format. Интеграция с GitHub Code Scanning, VS Code, Azure DevOps
CSVТабличный формат для импорта в Excel, Google Sheets, SIEM-системы
JSONМашиночитаемый формат для автоматизации и интеграции с внешними системами

Дополнительно: SBOM (Software Bill of Materials) в форматах CycloneDX и SPDX, compliance-отчёты с маппингом на конкретные пункты стандартов (152-ФЗ, PCI DSS, ГОСТ 57580).

2.12Архитектура и стек

Архитектура платформы:

Web UI (Next.js)
  |
  v
REST API + JWT Auth (Go / Chi)
  |
  v
Scan Orchestrator (фазы RECON -> SAST -> ACTIVE_SCAN -> VERIFY -> ENRICH)
  |
  v
Tool Containers (Docker / CLI / API)
  |
  v
Unified Finding Model
  |
  v
PostgreSQL 16 + MinIO (хранение)

Технологический стек:

BackendGo 1.24, Chi v5, GORM, pgx
FrontendNext.js 14, React 18, TypeScript 5.4, Tailwind CSS, Zustand
База данныхPostgreSQL 16 (uuid-ossp, pg_trgm, RLS)
КэшированиеRedis 7
Хранилище файловMinIO (S3-compatible)
КонтейнеризацияDocker, Docker Compose, Kubernetes + Helm
Reverse proxyNginx
МониторингPrometheus, Grafana, Loki
ИнфраструктураYandex Cloud (ru-central1), Terraform

3Информация, необходимая для установки программного обеспечения

Данный раздел содержит информацию, необходимую для установки программного обеспечения VAHREST. Платформа доступна в двух вариантах: SaaS (облачная) и On-Premise (локальная установка).

3.1SaaS-версия

Облачная версия доступна по адресу app.vahrest.ru. Установка дополнительного ПО не требуется.

  1. 1Перейдите на app.vahrest.ru/register и заполните форму регистрации
  2. 2Подтвердите email по ссылке из письма
  3. 3Настройте двухфакторную аутентификацию (TOTP, Email или SMS) для защиты аккаунта
  4. 4Создайте первый проект, указав URL целевого API
  5. 5Запустите сканирование, выбрав подходящий профиль

Поддерживаемые браузеры:

Google Chrome90 и выше
Mozilla Firefox90 и выше
Apple Safari15 и выше
Microsoft Edge90 и выше

3.2On-Premise: Docker Compose

Пошаговая инструкция установки через Docker Compose:

  1. 1Убедитесь, что установлены Docker 24+ и Docker Compose 2.20+:
    docker --version    # Docker version 24.0+
    docker compose version  # Docker Compose version v2.20+
  2. 2Получите дистрибутив и перейдите в директорию проекта:
    cd vahrest/
  3. 3Скопируйте и заполните файл конфигурации:
    cp .env.example .env
    # Отредактируйте .env: укажите JWT_SECRET, DATABASE_URL и другие параметры
  4. 4Запустите платформу:
    docker compose up -d --build
  5. 5Проверьте работоспособность:
    # Проверка статуса контейнеров
    docker compose ps
    
    # Проверка health-эндпоинта (дождитесь start_period ~120 сек)
    curl -s http://localhost:8080/health
    # Ожидаемый ответ: {"status":"ok"}

Миграции базы данных применяются автоматически при первом запуске. Для HTTPS настройте Nginx с сертификатом Let's Encrypt или используйте корпоративный сертификат.

3.3On-Premise: Kubernetes

Установка через Helm-чарт для Kubernetes 1.27+:

# Добавить репозиторий
helm repo add vahrest https://charts.vahrest.ru
helm repo update

# Установить с параметрами
helm upgrade --install vahrest vahrest/vahrest \
  --namespace vahrest --create-namespace \
  --set global.domain=vahrest.example.com \
  --set postgresql.auth.password=YOUR_DB_PASSWORD \
  --set config.jwtSecret=YOUR_JWT_SECRET \
  --set config.domain=vahrest.example.com

# Проверить статус
kubectl get pods -n vahrest

3.4Системные требования

ПараметрМинимумРекомендуется
CPU4 vCPU8+ vCPU
RAM8 ГБ16+ ГБ
Диск50 ГБ SSD200+ ГБ SSD
Docker24.0+25.0+
Docker Compose2.20+2.24+
Kubernetes (опц.)1.27+1.29+
PostgreSQL1516
Redis7.07.2

Поддерживаемые операционные системы:

Ubuntu22.04 LTS, 24.04 LTS
Astra Linux1.7 и выше (SE, CE)
РЕД ОС7.3 и выше
CentOS Stream9
Debian12 и выше

3.5Переменные окружения

Основные переменные окружения файла .env:

ПеременнаяОписаниеПример
DATABASE_URLСтрока подключения к PostgreSQLpostgres://user:pass@localhost:5432/vahrest?sslmode=disable
REDIS_URLСтрока подключения к Redisredis://localhost:6379/0
MINIO_ENDPOINTАдрес MinIO для хранения отчётовlocalhost:9000
JWT_SECRETСекрет для подписи JWT-токенов (мин. 32 символа)your-secure-secret-at-least-32-chars
DOMAINДомен приложенияvahrest.example.com
SCAN_HTTP_PROXYHTTP-прокси для инструментов сканированияhttp://proxy:8080
TWO_FACTOR_ENCRYPTION_KEYКлюч шифрования 2FA-секретов (64 hex)0123456789abcdef...
SMTP_HOSTSMTP-сервер для отправки emailsmtp.example.com

3.6Управление секретами

Для production-окружения рекомендуется использовать HashiCorp Vault для управления секретами вместо хранения их в .env файлах:

  • JWT_SECRET, TWO_FACTOR_ENCRYPTION_KEY, IDENTITY_ENCRYPTION_KEY — критические секреты, обязательно через Vault
  • OAuth-credentials (Google, GitHub, Yandex) — рекомендуется через Vault
  • DATABASE_URL, REDIS_URL — могут быть в .env при наличии сетевой изоляции
  • Ротация JWT_SECRET — поддерживается без прерывания сервиса

4Информация, необходимая для эксплуатации программного обеспечения

Данный раздел содержит информацию, необходимую для эксплуатации программного обеспечения VAHREST: порядок работы с платформой, запуск сканирований, анализ результатов, управление командой и интеграция через REST API.

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

  1. 1Вход в систему — перейдите на app.vahrest.ru/login и авторизуйтесь с помощью email/пароля или SSO
  2. 2Создание проекта — нажмите «Новый проект», укажите название и URL целевого API (например, https://api.example.com)
  3. 3Запуск сканирования — выберите профиль express для быстрой проверки (~5 мин) или standard для базового аудита (~30 мин)
  4. 4Мониторинг — статус сканирования отображается в реальном времени: прогресс, текущая фаза, найденные уязвимости
  5. 5Результаты — просмотрите дашборд с risk score, список уязвимостей с рекомендациями, скачайте отчёт в PDF

4.2Запуск через веб-интерфейс

Веб-интерфейс предоставляет пошаговый мастер создания сканирования (Scan Wizard) из 4 шагов:

  1. 1Выбор проекта и целевого URL
  2. 2Выбор профиля сканирования (express, standard, full_security и др.)
  3. 3Настройка параметров: OpenAPI-спецификация, аутентификация API, прокси
  4. 4Подтверждение и запуск

Планировщик позволяет настроить регулярные сканирования по расписанию (ежедневно, еженедельно, ежемесячно) с автоматическими уведомлениями о результатах через Telegram, Slack, Email или Webhook.

4.3Запуск через REST API

Запуск сканирования через REST API с использованием API-ключа организации:

# Создание сканирования через API
curl -X POST https://app.vahrest.ru/api/v1/scans \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "PROJECT_UUID",
    "preset": "standard",
    "target_url": "https://api.example.com"
  }'

# Проверка статуса сканирования
curl -s https://app.vahrest.ru/api/v1/scans/SCAN_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

# Получение результатов (уязвимости)
curl -s https://app.vahrest.ru/api/v1/scans/SCAN_ID/vulnerabilities \
  -H "Authorization: Bearer YOUR_API_KEY"

# Скачивание отчёта в PDF
curl -s https://app.vahrest.ru/api/v1/scans/SCAN_ID/report?format=pdf \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o report.pdf

4.4Запуск через CI/CD

Пример интеграции с GitHub Actions:

# .github/workflows/security-scan.yml
name: VAHREST Security Scan
on:
  push:
    branches: [main]
  pull_request:

jobs:
  security-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run VAHREST Scan
        env:
          VAHREST_API_KEY: ${{ secrets.VAHREST_API_KEY }}
          VAHREST_PROJECT_ID: ${{ secrets.VAHREST_PROJECT_ID }}
        run: |
          # Запуск сканирования
          SCAN_ID=$(curl -s -X POST https://app.vahrest.ru/api/v1/scans \
            -H "Authorization: Bearer $VAHREST_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{"project_id":"'$VAHREST_PROJECT_ID'","preset":"express"}' \
            | jq -r '.id')

          # Ожидание завершения
          while true; do
            STATUS=$(curl -s https://app.vahrest.ru/api/v1/scans/$SCAN_ID \
              -H "Authorization: Bearer $VAHREST_API_KEY" | jq -r '.status')
            [ "$STATUS" = "DONE" ] || [ "$STATUS" = "FAILED" ] && break
            sleep 30
          done

          # Скачивание JSON-отчёта
          curl -s https://app.vahrest.ru/api/v1/scans/$SCAN_ID/report?format=json \
            -H "Authorization: Bearer $VAHREST_API_KEY" -o results.json

4.5Результаты сканирования

После завершения сканирования доступны:

  • Дашборд — Risk Score (0-99), распределение уязвимостей по критичности (Critical/High/Medium/Low/Info), графики трендов по сканированиям
  • Список уязвимостей — фильтрация по severity, CWE, OWASP-категории, инструменту-источнику. Сортировка по CVSS-скорингу
  • Карточка уязвимости — подробное описание, evidence (запрос/ответ), CWE/OWASP-маппинг, рекомендации по устранению, PoC-запрос (curl), AI-рекомендации
  • Compliance-отчёт — маппинг уязвимостей на пункты стандартов (152-ФЗ, PCI DSS, ГОСТ 57580), процент соответствия, чек-лист
  • API-топология — интерактивный граф обнаруженных эндпоинтов с визуализацией связей

4.6Экспорт отчётов

PDFПолный отчёт для руководства и регуляторов: executive summary, рекомендации, графики
SARIFИнтеграция с GitHub Code Scanning, VS Code, Azure DevOps
CSVИмпорт в Excel, Google Sheets, SIEM-системы
JSONМашиночитаемый формат для автоматизации и внешних интеграций

Экспорт доступен через веб-интерфейс (кнопка «Скачать отчёт») и через REST API (GET /api/v1/scans/{id}/report?format=pdf|sarif|csv|json).

4.7Управление командой

  • Приглашения — отправка приглашений по email с выбором роли (Admin, Security Engineer, Developer, Viewer)
  • Роли и разрешения — гранулярная ролевая модель RBAC, назначение ролей на уровне организации
  • SSO/SAML — настройка корпоративного SSO для автоматического добавления сотрудников
  • Аудит-лог — полная история действий: входы, сканирования, изменения настроек, экспорт в CSV/JSON
  • API-ключи — создание и управление ключами организации с scope-ограничениями для CI/CD-интеграций

4.8REST API эндпоинты

Основные эндпоинты REST API (базовый URL: https://app.vahrest.ru/api/v1):

МетодЭндпоинтОписание
GET/projectsСписок проектов организации
POST/projectsСоздание нового проекта
POST/scansЗапуск нового сканирования
GET/scans/{id}Статус и детали сканирования
GET/scans/{id}/vulnerabilitiesСписок найденных уязвимостей
GET/scans/{id}/report?format=pdfСкачивание отчёта (pdf, sarif, csv, json)
GET/scans/{id}/complianceCompliance-отчёт сканирования
GET/findingsСписок уязвимостей с фильтрацией
GET/auditАудит-лог организации
POST/api-keysСоздание API-ключа

Rate limiting: 1000 запросов/день на API-ключ. Аутентификация: Authorization: Bearer API_KEY. Полная документация API доступна по адресу app.vahrest.ru/api/docs.

4.9Поддержка и SLA

Техническая поддержка:

SLA по времени реагирования:

CriticalРеагирование в течение 4 часов
HighРеагирование в течение 8 часов
MediumРеагирование в течение 24 часов
LowРеагирование в течение 72 часов

Обновления выпускаются регулярно и включают исправления и новую функциональность. SaaS-пользователи получают обновления автоматически. Для On-premise:

# Обновление On-Premise (Docker Compose)
docker compose pull
docker compose up -d --build

# Обновление On-Premise (Kubernetes)
helm repo update
helm upgrade vahrest vahrest/vahrest -n vahrest