fix: race conditions in lock pop, CSV formula injection, serialize_finding None leak, consolidate plans, update docs
This commit is contained in:
14
README.md
14
README.md
@@ -1,15 +1,16 @@
|
||||
# GuardDog Nexus
|
||||
|
||||
Интеграция [GuardDog](https://github.com/DataDog GuardDog) (сканер уязвимостей пакетов PyPI) с [Sonatype Nexus Repository Manager]. Автоматически сканирует Python-пакеты, хранящиеся в Nexus, на наличие уязвимостей, вредоносного кода и подозрительных паттернов при каждом обновлении или добавлении пакета.
|
||||
Интеграция [GuardDog](https://github.com/DataDog/guarddog) (сканер уязвимостей пакетов) с [Sonatype Nexus Repository Manager]. Автоматически сканирует пакеты (PyPI, Go, npm), хранящиеся в Nexus, на наличие уязвимостей, вредоносного кода и подозрительных паттернов при каждом обновлении пакета через вебхуки.
|
||||
|
||||
## Возможности
|
||||
|
||||
- **Автоматическое сканирование** по вебхукам Nexus при создании/обновлении пакетов
|
||||
- **Поддержка нескольких экосистем** — PyPI, Go, npm (любой формат через прокси-репозитории Nexus)
|
||||
- **Автоматическое сканирование** по вебхукам Nexus при обновлении пакетов (только `UPDATED`)
|
||||
- **Поддержка нескольких экосистем** — PyPI, Go, npm (включая scoped-пакеты `@scope/name`); неизвестные экосистемы явно отклоняются
|
||||
- **REST API** для просмотра результатов сканирования, уязвимостей, статистики и экспорта в CSV
|
||||
- **Веб-интерфейс** с дашбордом, таблицами сканирований и фильтрацией по уязвимостям
|
||||
- **LLM-анализ** — автоматический разбор каждой уязвимости через OpenAI-совместимые API (опционально, настраивается)
|
||||
- **LLM-анализ** — автоматический разбор каждой уязвимости через OpenAI-совместимые API (опционально, настраивается); параллельный анализ через `asyncio.gather`
|
||||
- **Дедупликация** по URL и SHA256 — один и тот же пакет сканируется один раз
|
||||
- **Защита от SSRF** — валидация URL загрузки через `NEXUS_ALLOWED_HOSTS`
|
||||
- **Структурированное логирование** в формате JSON с опциональной отправкой в syslog
|
||||
- **Docker Compose** для развёртывания приложения, Nexus и настройки в одном стеке
|
||||
|
||||
@@ -186,6 +187,7 @@ curl -X POST http://localhost:8080/webhooks/nexus \
|
||||
| Метод | Путь | Описание |
|
||||
|-------|------|----------|
|
||||
| GET | `/health` | Проверка работоспособности |
|
||||
| GET | `/health/dependencies` | Проверка БД и доступности Nexus API |
|
||||
| GET | `/metrics` | Метрики в формате Prometheus |
|
||||
|
||||
## Веб-интерфейс
|
||||
@@ -252,7 +254,9 @@ guarddog-nexus/
|
||||
## Безопасность
|
||||
|
||||
- Вебхуки поддерживают HMAC-SHA256 подпись через `WEBHOOK_SECRET`
|
||||
- Nexus-клиент использует BasicAuth для аутентификации
|
||||
- Nexus-клиент использует анонимный доступ (без BasicAuth) — убедитесь, что Nexus разрешает анонимное чтение репозиториев
|
||||
- Защита от SSRF: URL загрузки валидируется через `NEXUS_ALLOWED_HOSTS`
|
||||
- Заголовки безопасности на всех ответах: `X-Content-Type-Options`, `X-Frame-Options`, `X-XSS-Protection`, `Referrer-Policy`, `Permissions-Policy`
|
||||
- Результаты сканирования хранятся в локальной SQLite-базе
|
||||
- Временные файлы пакетов удаляются после сканирования
|
||||
|
||||
|
||||
Reference in New Issue
Block a user