Skip to content

Эксплуатация и устранение неполадок

В этой главе — повседневная эксплуатация, режимы отказа и заметки по безопасности для команд, размещающих CVE Intelligence Panel внутри периметра.

Производительность

Полные сканы по многим инструментам без NVD_API_KEY могут занимать несколько минут. Запускайте в окна обслуживания. Режим мониторинга остаётся лёгким, если NVD исключён.

Типичные проблемы

Симптом Вероятная причина Действие
Too many scan requests / RATE_LIMITED Middleware приложения (bucket scan или watch) Подождите retryAfterSec; закройте лишние вкладки; увеличьте RATE_LIMIT_* в .env; перезапустите сервер
Пустые результаты NVD Rate limit NVD upstream Добавьте NVD_API_KEY, уменьшите стек, повторите
Устаревшие метки источников Сбой fetch Проверьте сеть; читайте логи сервера
Зависший перевод Провайдер недоступен Временно отключите автоперевод; используйте английский UI
Ложное совпадение Эвристика имени инструмента Уточните имена в стеке; ручной triage
Нет новых пунктов мониторинга knownIds уже содержит CVE Ожидаемо; проверьте полным сканом

Безопасность

  • Не выставляйте API публично без аутентификации.
  • Храните GITHUB_TOKEN и NVD_API_KEY только в env сервера.
  • RSS и внешний JSON — недоверенный ввод; сервер разбирает защитно.

Обновления

После git pull выполните npm install, make build, перезапустите процесс. Очистите кэш браузера, если ключи i18n изменились между версиями. v1.1.0 добавляет мастер настройки и кэш scan по ключу стека — существующие стеки мигрируют автоматически; новые установки проходят мастер один раз.

Автоматизированное тестирование

Набор Команда Область
Unit + API make test tests/server/, tests/client/, tests/integration/
Coverage (CI) npm run test:ci То же + lcov для Codecov/Sonar
E2E (Playwright) один раз npm run test:e2e:install, затем npm run test:e2e tests/e2e/ против Vite dev server (CSV export)

Интеграционные тесты в tests/integration/ сейчас покрывают пагинацию NVD с локальным mirror и AIRGAPPED=true (nvd-pagination.test.ts). Доп. specs — #78. CONTRIBUTING.md.

Покрытие тестами (базовая линия CI)

npm test сейчас выполняет 257 спецификаций: unit сервера, client helpers и integration mirrors. Покрытие CI (npm run test:ci) — около 94% строк, 82% веток и 94% функций (V8 lcov → Codecov/SonarCloud).

Область Примеры файлов
Уведомления tests/server/notifications.test.ts, notificationEmail.test.ts, notificationTelegram.test.ts
Middleware tenantContext.test.ts, scanTimeout.test.ts, securityHeaders.test.ts
Слой данных pool.test.ts, tenants.test.ts, tenantsDb.integration.test.ts
Client helpers exportVulns.test.ts, iconAssets.test.ts, scanCache.test.ts
Интеграция tests/integration/nvd-pagination.test.ts

E2E (tests/e2e/export.spec.ts) требует Chromium Playwright — один раз npm run test:e2e:install.

Сопровождение документации

Изменения продукта должны обновлять все шесть деревьев extended-docs/docs/content/{locale}/, src/i18n/messages/*.ts и legacy docs/ при необходимости. Правило agent code-to-docs-sync (agent/rules/code-to-docs-sync.mdc) — mapping путь→док, glossary и scripts/check-extended-docs-locale-sync.sh.

Audit, RBAC, tenants, metrics, airgap и Kubernetes: 11 Self-host.

На главную