From 2797151d2cdddf8fcc7f65f640482475785fc1f1 Mon Sep 17 00:00:00 2001 From: chest Date: Sun, 18 Jan 2026 15:19:02 +0300 Subject: [PATCH] feat: README and examples --- README | 0 README.md | 219 ++++++++++++++ examples/testoutput.txt | 642 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 861 insertions(+) delete mode 100644 README create mode 100644 README.md create mode 100644 examples/testoutput.txt diff --git a/README b/README deleted file mode 100644 index e69de29..0000000 diff --git a/README.md b/README.md new file mode 100644 index 0000000..b74ce02 --- /dev/null +++ b/README.md @@ -0,0 +1,219 @@ +# CVExplorer + +CVExplorer — утилита для анализа **запущенных Docker-контейнеров**: + +- извлекает зависимости приложения (из контейнера **или** по ссылке на исходники) +- сравнивает версии зависимостей с базой уязвимостей **OSV.dev** +- cоздаёт отчет +- отправляет отчёт по выбранным каналам (WIP) + +> На текущем этапе анализ выполняется по **манифестам зависимостей**. + +--- + +## Возможности + +- Сканирует **запущенные** контейнеры. +- Два пути извлечения зависимостей: + 1. из контейнера (если манифесты присутствуют) + 2. из репозитория по `source_url` (если контейнер содержит только собранный бинарник) +- Сравнивает найденные версии зависимостей с OSV.dev +- Фильтрует вывод по минимальной серьёзности (например, скрыть `LOW`). +- Есть файл конфигурации для гибкой настройки вывода + +--- + +## Поддерживаемые манифесты + +**Python:** +- `requirements*.txt` +- `Pipfile` +- `pyproject.toml` +- `poetry.lock` + +**Node.js:** +- `package.json` +- `package-lock.json` +- `yarn.lock` +- `pnpm-lock.yaml` + +**Go:** +- `go.mod` +- `go.sum` + +**Rust:** +- `Cargo.toml` +- `Cargo.lock` + +**Java:** +- `pom.xml` +- `build.gradle`, `build.gradle.kts` + +**.NET:** +- `*.csproj`, `*.fsproj` +- `packages.config` + +--- + +## Требования + +- Python 3.10+ (рекомендуется 3.11+) +- Docker Engine / Docker Desktop запущен +- `git` в системе (для анализа по `source_url`) + +Python-зависимости: +- `docker` +- `tqdm` (опционально, для прогресс-бара) + +--- + +## Установка + +### 1) Клонировать проект + +```bash +git clone https://g.lair.moe/Chest/CVExplorer +cd CVExplorer +``` + +### 2) Создать виртуальное окружение + +```bash +python -m venv .venv +source .venv/bin/activate +``` + +### 3) Поставить зависимости + +```bash +pip install -U pip +pip install docker +pip install tqdm # опционально для прогресс-бара +``` + +--- + +## Запуск + +Основной способ: + +```bash +python run.py +``` + +Альтернативно (если используешь пакетный запуск): + +```bash +python -m cvexplorer.main +``` + +> Утилита анализирует **запущенные** контейнеры. Убедись, что нужные сервисы запущены. + +--- + +## Как работает извлечение зависимостей? + +Для каждого контейнера: + +1. CVExplorer ищет файлы манифестов внутри контейнера (например, `package.json`, `go.mod`). +2. Если манифестов нет, CVExplorer пытается взять `source_url` из OCI labels: + - `org.opencontainers.image.source` + - `org.opencontainers.image.url` + - (и т.п.) +3. Если `source_url` найден — репозиторий клонируется, выбирается commit (если есть `org.opencontainers.image.revision`) и парсятся манифесты в репо. +4. Дальше зависимости дедуплицируются и отправляются в OSV.dev. + +--- + +## Конфигурация + +CVExplorer читает конфиг из файла **`cvexplorer_config.json`** в рабочей директории. +Если файла нет или он некорректный — используются значения по умолчанию. + +### Пример `cvexplorer_config.json` + +```json +{ + "output": { + "group_by_service": true, + "sections": { + "show_id_status": false, + "show_ports": false, + "show_language": false, + "show_revision": false, + "show_deps_list": false, + "show_code_files": false, + "show_errors": false + } + }, + "vulns": { + "min_severity": "MEDIUM", + "include_unknown": true, + "max_affected_deps_to_show": 8, + "max_vuln_ids_to_show": 10 + }, + "osv": { + "enabled": true, + "chunk_size": 250, + "hydrate_details": true, + "max_pages": 5, + "timeout_sec": 30 + } +} +``` + +### Параметры `output` + +- `group_by_service` — группировать контейнеры по сервису (Compose/имя/образ). +- `sections.*` — включение/выключение блоков вывода: + - `show_id_status` — ID/статус/created + - `show_ports` — используемые порты + - `show_language` — ЯП + - `show_revision` — commit SHA + - `show_deps_list` — печатать списки зависимостей (но их может быть ооооочень много) + - `show_code_files` — найденные `main/app/index` файлы с кодом + - `show_errors` — ошибки извлечения + +### Параметры `vulns` + +- `min_severity` — минимальная серьёзность для отображения: `LOW`, `MEDIUM`, `HIGH`, `CRITICAL`. +- `include_unknown` — показывать ли уязвимости с неизвестной серьёзностью. +- `max_affected_deps_to_show` — сколько «самых проблемных» пакетов показывать. +- `max_vuln_ids_to_show` — сколько ID уязвимостей выводить в примере. + +### Параметры `osv` + +- `enabled` — включить/выключить сравнение с OSV.dev. +- `chunk_size` — размер batch-запроса (актуально при сотнях зависимостей). +- `hydrate_details` — догружать ли детали уязвимостей (нужно для фильтрации по severity best-effort). +- `max_pages` — ограничение пагинации. +- `timeout_sec` — таймаут запросов. + +--- + +## Прогресс-бар + +Если поставить `tqdm`, появится прогресс-бар для: +- сканирования контейнеров +- batch-запросов OSV + +Установка: + +```bash +pip install tqdm +``` + +--- + +## Troubleshooting + +### Нет прав на Docker + +Если ошибки про доступ к Docker socket — запусти от пользователя с доступом к Docker или настрой группу `docker`. + +### В контейнере нет манифестов + +Это нормально для «собранных» образов. Тогда нужен `source_url` в OCI labels. +Если `source_url` отсутствует — CVExplorer сможет показать только метаданные контейнера. +Ручное добавление ссылки на знакомые вам проекты через конфигурацию — **WIP** +--- diff --git a/examples/testoutput.txt b/examples/testoutput.txt new file mode 100644 index 0000000..c8bbb4f --- /dev/null +++ b/examples/testoutput.txt @@ -0,0 +1,642 @@ +──────────────────────────────────────────────────────────────────────────────────────── Сервис: attic:attic Контейнеров: 1 Контейнер: nix-cache Образ: ghcr.io/zhaofengli/attic Версия: tag=latest label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: attic:db Контейнеров: 1 Контейнер: attic-db-1 Образ: postgres:17.6-alpine Версия: tag=17.6-alpine label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: docker:watchtower Контейнеров: 1 Контейнер: docker-watchtower-1 Образ: containrrr/watchtower Версия: tag=latest label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: docker:ygg Контейнеров: 1 Контейнер: yggdrasil Образ: docker-ygg Версия: tag=latest label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: gitea:db Контейнеров: 1 Контейнер: gitea-db Образ: postgres:17 Версия: tag=17 label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: gitea:gitea Контейнеров: 1 Контейнер: gitea Образ: docker.gitea.com/gitea:latest Версия: tag=latest label=1.25.3 Source repo: https://github.com/go-gitea/gitea Источник зависимостей: git Манифесты: 5 Зависимости: 546 (после дедупликации) По экосистемам: go=441, npm=105 OSV: уязвимости=1; затронутые пакеты=1; проверено пакетов=385 (CRITICAL=1, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:happy-dom@18.0.1 -> 1 ids (max=CRITICAL) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: gitea:runner Контейнеров: 1 Контейнер: gitea-runner Образ: gitea/act_runner:nightly Версия: tag=nightly label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: glitchtip:bug Контейнеров: 1 Контейнер: glitchtip-bug-1 Образ: glitchtip/glitchtip:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: container Манифесты: 1 Зависимости: 37 (после дедупликации) По экосистемам: pypi=37 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: glitchtip:bug-postgres Контейнеров: 1 Контейнер: glitchtip-bug-postgres-1 Образ: postgres:17 Версия: tag=17 label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: glitchtip:bug-redis Контейнеров: 1 Контейнер: glitchtip-bug-redis-1 Образ: valkey/valkey:latest Версия: tag=latest label=None Source repo: https://github.com/valkey-io/valkey Источник зависимостей: git Манифесты: 1 Зависимости: 2 (после дедупликации) По экосистемам: pypi=2 OSV: уязвимости=4; затронутые пакеты=1; проверено пакетов=2 (HIGH=1, MEDIUM=1, UNKNOWN=2) OSV: топ уязвимых зависимостей: - PyPI:redis@4.5.1 -> 4 ids (max=HIGH) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: glitchtip:bug-worker Контейнеров: 1 Контейнер: glitchtip-bug-worker-1 Образ: glitchtip/glitchtip:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: container Манифесты: 1 Зависимости: 37 (после дедупликации) По экосистемам: pypi=37 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: immich:database Контейнеров: 1 Контейнер: immich_postgres Образ: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 Версия: tag=None label=14-vectorchord0.4.3-pgvector0.8.1-pgvectors0.2.0 Source repo: https://github.com/immich-app/base-images Источник зависимостей: git Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: immich:immich-machine-learning Контейнеров: 1 Контейнер: immich_machine_learning Образ: ghcr.io/immich-app/immich-machine-learning:v2 Версия: tag=v2 label=v2.4.1 Source repo: https://github.com/immich-app/immich Источник зависимостей: git Манифесты: 14 Зависимости: 272 (после дедупликации) По экосистемам: npm=251, pypi=21 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=38 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: immich:immich-server Контейнеров: 1 Контейнер: immich_server Образ: ghcr.io/immich-app/immich-server:v2 Версия: tag=v2 label=v2.4.1 Source repo: https://github.com/immich-app/immich Источник зависимостей: container Манифесты: 2 Зависимости: 142 (после дедупликации) По экосистемам: npm=142 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=96 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: immich:redis Контейнеров: 1 Контейнер: immich_redis Образ: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa Версия: tag=None label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: new_sharkey:new_sharkey Контейнеров: 1 Контейнер: new_blog Образ: registry.activitypub.software/transfem-org/sharkey:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: container Манифесты: 6 Зависимости: 223 (после дедупликации) По экосистемам: npm=223 OSV: уязвимости=13; затронутые пакеты=9; проверено пакетов=217 (CRITICAL=1, HIGH=7, MEDIUM=5, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:pnpm@9.6.0 -> 4 ids (max=HIGH) - npm:nodemailer@6.10.1 -> 2 ids (max=MEDIUM) - npm:form-data@4.0.2 -> 1 ids (max=CRITICAL) - npm:glob@11.0.0 -> 1 ids (max=HIGH) - npm:tar@7.4.3 -> 1 ids (max=HIGH) - npm:axios@1.9.0 -> 1 ids (max=HIGH) - npm:systeminformation@5.25.11 -> 1 ids (max=HIGH) - npm:typeorm@0.3.22 -> 1 ids (max=HIGH) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: new_sharkey:sh_db Контейнеров: 1 Контейнер: new_sharkey-sh_db-1 Образ: postgres:15-alpine Версия: tag=15-alpine label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: new_sharkey:sh_meilisearch Контейнеров: 1 Контейнер: new_sharkey-sh_meilisearch-1 Образ: getmeili/meilisearch:v1.3.4 Версия: tag=v1.3.4 label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: new_sharkey:sh_redis Контейнеров: 1 Контейнер: new_sharkey-sh_redis-1 Образ: redis:7-alpine Версия: tag=7-alpine label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: peertube:peertube Контейнеров: 1 Контейнер: peertube Образ: chocobozzz/peertube:production-bookworm Версия: tag=production-bookworm label=None Source repo: None Источник зависимостей: container Манифесты: 12 Зависимости: 1338 (после дедупликации) По экосистемам: npm=1336, pypi=2 OSV: уязвимости=13; затронутые пакеты=12; проверено пакетов=1217 (HIGH=10, MEDIUM=4, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:@angular/compiler@19.2.14 -> 2 ids (max=HIGH) - npm:nodemailer@7.0.3 -> 2 ids (max=MEDIUM) - npm:@angular/common@19.2.14 -> 1 ids (max=HIGH) - npm:@angular/core@19.2.14 -> 1 ids (max=HIGH) - npm:axios@1.11.0 -> 1 ids (max=HIGH) - npm:glob@10.4.5 -> 1 ids (max=HIGH) - npm:ip@2.0.1 -> 1 ids (max=HIGH) - npm:qs@6.14.0 -> 1 ids (max=HIGH) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: peertube:postgres Контейнеров: 1 Контейнер: peertube-postgres-1 Образ: postgres:13-alpine Версия: tag=13-alpine label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: peertube:redis Контейнеров: 1 Контейнер: peertube-redis-1 Образ: redis:6-alpine Версия: tag=6-alpine label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: rybbit:backend Контейнеров: 1 Контейнер: backend Образ: ghcr.io/rybbit-io/rybbit-backend:latest Версия: tag=latest label=v2.3.1 Source repo: https://github.com/rybbit-io/rybbit Источник зависимостей: container Манифесты: 12 Зависимости: 138 (после дедупликации) По экосистемам: npm=138 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=4 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: rybbit:clickhouse Контейнеров: 1 Контейнер: clickhouse Образ: clickhouse/clickhouse-server:25.4.2 Версия: tag=25.4.2 label=22.04 Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: rybbit:client Контейнеров: 1 Контейнер: client Образ: ghcr.io/rybbit-io/rybbit-client:latest Версия: tag=latest label=v2.3.1 Source repo: https://github.com/rybbit-io/rybbit Источник зависимостей: container Манифесты: 12 Зависимости: 110 (после дедупликации) По экосистемам: npm=110 OSV: уязвимости=1; затронутые пакеты=1; проверено пакетов=62 (HIGH=1, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:better-auth@1.3.27 -> 1 ids (max=HIGH) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: rybbit:postgres Контейнеров: 1 Контейнер: postgres Образ: postgres:17.4 Версия: tag=17.4 label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: services:dns Контейнеров: 1 Контейнер: blocky Образ: ghcr.io/0xerr0r/blocky Версия: tag=latest label=v0.28.2 Source repo: https://github.com/0xERR0R/blocky Источник зависимостей: git Манифесты: 2 Зависимости: 216 (после дедупликации) По экосистемам: go=216 OSV: уязвимости=4; затронутые пакеты=1; проверено пакетов=162 (MEDIUM=2, UNKNOWN=2) OSV: топ уязвимых зависимостей: - Go:golang.org/x/crypto@v0.44.0 -> 4 ids (max=MEDIUM) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: services:mail Контейнеров: 1 Контейнер: mail Образ: ghcr.io/docker-mailserver/docker-mailserver:latest Версия: tag=latest label=v15.1.0 Source repo: https://github.com/docker-mailserver/docker-mailserver Источник зависимостей: git Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: services:matrix Контейнеров: 1 Контейнер: services-matrix-1 Образ: forgejo.ellis.link/continuwuation/continuwuity:latest Версия: tag=latest label=v0.5.3 Source repo: https://forgejo.ellis.link/continuwuation/continuwuity Источник зависимостей: git Манифесты: 15 Зависимости: 926 (после дедупликации) По экосистемам: cargo=573, npm=353 OSV: уязвимости=4; затронутые пакеты=4; проверено пакетов=917 (HIGH=1, MEDIUM=1, UNKNOWN=2) OSV: топ уязвимых зависимостей: - npm:@remix-run/router@1.23.1 -> 1 ids (max=HIGH) - npm:mdast-util-to-hast@13.2.0 -> 1 ids (max=MEDIUM) - crates.io:paste@1.0.15 -> 1 ids (max=UNKNOWN) - crates.io:rustls-pemfile@2.2.0 -> 1 ids (max=UNKNOWN) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: services:ntfy Контейнеров: 1 Контейнер: ntfy Образ: binwiederhier/ntfy Версия: tag=latest label=None Source repo: https://github.com/binwiederhier/ntfy Источник зависимостей: git Манифесты: 5 Зависимости: 797 (после дедупликации) По экосистемам: go=111, npm=684, pypi=2 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=774 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: services:turn Контейнеров: 1 Контейнер: turn Образ: coturn/coturn:latest Версия: tag=latest label=4.8.0-r0 Source repo: https://github.com/coturn/coturn Источник зависимостей: git Манифесты: 1 Зависимости: 1 (после дедупликации) По экосистемам: npm=1 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:baikal Контейнеров: 1 Контейнер: baikal Образ: ckulka/baikal:nginx Версия: tag=nginx label=0.10.1 Source repo: https://github.com/ckulka/baikal-docker Источник зависимостей: git Манифесты: 2 Зависимости: 281 (после дедупликации) По экосистемам: npm=281 OSV: уязвимости=3; затронутые пакеты=3; проверено пакетов=281 (CRITICAL=1, HIGH=1, MEDIUM=1, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:form-data@4.0.2 -> 1 ids (max=CRITICAL) - npm:qs@6.14.0 -> 1 ids (max=HIGH) - npm:js-yaml@4.1.0 -> 1 ids (max=MEDIUM) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:caddy Контейнеров: 1 Контейнер: caddy Образ: caddy:latest Версия: tag=latest label=v2.10.2 Source repo: https://github.com/caddyserver/caddy-docker Источник зависимостей: git Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:cinny Контейнеров: 1 Контейнер: cinny Образ: ajbura/cinny Версия: tag=latest label=v4.10.2 Source repo: https://github.com/cinnyapp/cinny Источник зависимостей: git Манифесты: 2 Зависимости: 924 (после дедупликации) По экосистемам: npm=924 OSV: уязвимости=9; затронутые пакеты=11; проверено пакетов=924 (HIGH=3, MEDIUM=8, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:@remix-run/router@1.13.0 -> 1 ids (max=HIGH) - npm:linkifyjs@4.1.3 -> 1 ids (max=HIGH) - npm:tar@6.2.1 -> 1 ids (max=HIGH) - npm:@babel/helpers@7.26.0 -> 1 ids (max=MEDIUM) - npm:@babel/runtime@7.26.0 -> 1 ids (max=MEDIUM) - npm:@babel/runtime-corejs3@7.26.0 -> 1 ids (max=MEDIUM) - npm:esbuild@0.19.12 -> 1 ids (max=MEDIUM) - npm:js-yaml@4.1.0 -> 1 ids (max=MEDIUM) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:cloud Контейнеров: 1 Контейнер: copyparty Образ: ghcr.io/9001/copyparty-ac:latest Версия: tag=latest label=None Source repo: https://github.com/9001/copyparty Источник зависимостей: git Манифесты: 1 Зависимости: 10 (после дедупликации) По экосистемам: pypi=10 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:cryptpad Контейнеров: 1 Контейнер: cryptpad Образ: cryptpad/cryptpad:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: container Манифесты: 12 Зависимости: 604 (после дедупликации) По экосистемам: npm=604 OSV: уязвимости=3; затронутые пакеты=3; проверено пакетов=510 (HIGH=2, MEDIUM=1, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:jws@3.2.2 -> 1 ids (max=HIGH) - npm:qs@6.13.0 -> 1 ids (max=HIGH) - npm:js-yaml@4.1.0 -> 1 ids (max=MEDIUM) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:dockge Контейнеров: 1 Контейнер: sites-dockge-1 Образ: louislam/dockge:1 Версия: tag=1 label=None Source repo: None Источник зависимостей: container Манифесты: 12 Зависимости: 857 (после дедупликации) По экосистемам: npm=857 OSV: уязвимости=14; затронутые пакеты=10; проверено пакетов=799 (CRITICAL=1, HIGH=6, MEDIUM=8, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:vite@5.4.15 -> 5 ids (max=MEDIUM) - npm:tar-fs@2.1.2 -> 2 ids (max=HIGH) - npm:form-data@4.0.2 -> 1 ids (max=CRITICAL) - npm:axios@1.8.4 -> 1 ids (max=HIGH) - npm:jws@3.2.2 -> 1 ids (max=HIGH) - npm:qs@6.13.0 -> 1 ids (max=HIGH) - npm:tar@6.2.1 -> 1 ids (max=HIGH) - npm:@intlify/core-base@10.0.6 -> 1 ids (max=MEDIUM) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:fourget Контейнеров: 1 Контейнер: fourget Образ: luuul/4get:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:intellectual Контейнеров: 1 Контейнер: sites-intellectual-1 Образ: insprill/intellectual:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:it-tools Контейнеров: 1 Контейнер: it-tools Образ: ghcr.io/sharevb/it-tools:latest Версия: tag=latest label=1.28.0-alpine Source repo: https://github.com/nginx/docker-nginx-unprivileged Источник зависимостей: git Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:mail-web Контейнеров: 1 Контейнер: mail-frontend Образ: roundcube/roundcubemail:latest Версия: tag=latest label=None Source repo: https://github.com/roundcube/roundcubemail-docker Источник зависимостей: container Манифесты: 1 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:main Контейнеров: 1 Контейнер: index Образ: g.lair.moe/sweetbread/lair.moe:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: container Манифесты: 1 Зависимости: 3 (после дедупликации) По экосистемам: pypi=3 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=1 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:notes Контейнеров: 1 Контейнер: sites-notes-1 Образ: triliumnext/notes:latest Версия: tag=latest label=v0.95.0 Source repo: https://github.com/TriliumNext/Notes Источник зависимостей: container Манифесты: 3 Зависимости: 25 (после дедупликации) По экосистемам: npm=25 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=10 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:rss Контейнеров: 1 Контейнер: freshrss Образ: freshrss/freshrss:edge Версия: tag=edge label=1.28.1-dev Source repo: https://github.com/FreshRSS/FreshRSS Источник зависимостей: container Манифесты: 2 Зависимости: 449 (после дедупликации) По экосистемам: npm=449 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=449 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:shlink Контейнеров: 1 Контейнер: sites-shlink-1 Образ: shlinkio/shlink:stable Версия: tag=stable label=5.0.0 Source repo: https://github.com/shlinkio/shlink Источник зависимостей: container Манифесты: 1 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:status Контейнеров: 1 Контейнер: uptime-kuma Образ: ghcr.io/louislam/uptime-kuma:nightly2 Версия: tag=nightly2 label=None Source repo: https://github.com/louislam/uptime-kuma Источник зависимостей: container Манифесты: 11 Зависимости: 211 (после дедупликации) По экосистемам: npm=211 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=2 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:translite Контейнеров: 1 Контейнер: translite Образ: git.bloat.cat/gospodin/translite:master Версия: tag=master label=None Source repo: https://git.bloat.cat/gospodin/translite Источник зависимостей: git Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:vaultwarden Контейнеров: 1 Контейнер: pass Образ: vaultwarden/server:latest Версия: tag=latest label=1.35.2 Source repo: https://github.com/dani-garcia/vaultwarden Источник зависимостей: git Манифесты: 5 Зависимости: 796 (после дедупликации) По экосистемам: cargo=566, npm=230 OSV: уязвимости=7; затронутые пакеты=7; проверено пакетов=796 (HIGH=2, MEDIUM=2, UNKNOWN=3) OSV: топ уязвимых зависимостей: - crates.io:vaultwarden@1.0.0 -> 1 ids (max=HIGH) - npm:qs@6.14.0 -> 1 ids (max=HIGH) - npm:body-parser@2.2.0 -> 1 ids (max=MEDIUM) - npm:nodemailer@7.0.9 -> 1 ids (max=MEDIUM) - crates.io:async-std@1.13.2 -> 1 ids (max=UNKNOWN) - crates.io:rsa@0.9.9 -> 1 ids (max=UNKNOWN) - crates.io:rustls-pemfile@1.0.4 -> 1 ids (max=UNKNOWN) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: sites:vert Контейнеров: 1 Контейнер: vert Образ: ghcr.io/vert-sh/vert:latest Версия: tag=latest label=main Source repo: https://github.com/VERT-sh/VERT Источник зависимостей: git Манифесты: 1 Зависимости: 46 (после дедупликации) По экосистемам: npm=46 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=1 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: vpn:remnanode Контейнеров: 1 Контейнер: remnanode Образ: remnawave/node:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: container Манифесты: 12 Зависимости: 92 (после дедупликации) По экосистемам: npm=92 OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=32 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: vpn:remnawave Контейнеров: 1 Контейнер: remnawave Образ: remnawave/backend:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: container Манифесты: 12 Зависимости: 1096 (после дедупликации) По экосистемам: npm=1096 OSV: уязвимости=2; затронутые пакеты=2; проверено пакетов=1082 (HIGH=2, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:qs@6.14.0 -> 1 ids (max=HIGH) - npm:systeminformation@5.27.13 -> 1 ids (max=HIGH) ──────────────────────────────────────────────────────────────────────────────────────── Сервис: vpn:remnawave-db Контейнеров: 1 Контейнер: remnawave-db Образ: postgres:17.6 Версия: tag=17.6 label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: vpn:remnawave-redis Контейнеров: 1 Контейнер: remnawave-redis Образ: valkey/valkey:8.0.2-alpine Версия: tag=8.0.2-alpine label=None Source repo: None Источник зависимостей: none Манифесты: 0 Зависимости: 0 (после дедупликации) OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 ──────────────────────────────────────────────────────────────────────────────────────── Сервис: vpn:remnawave-subscription-page Контейнеров: 1 Контейнер: remnawave-subscription-page Образ: remnawave/subscription-page:latest Версия: tag=latest label=None Source repo: None Источник зависимостей: container Манифесты: 12 Зависимости: 737 (после дедупликации) По экосистемам: npm=737 OSV: уязвимости=2; затронутые пакеты=2; проверено пакетов=715 (HIGH=2, UNKNOWN=0) OSV: топ уязвимых зависимостей: - npm:qs@6.14.0 -> 1 ids (max=HIGH) - npm:systeminformation@5.27.13 -> 1 ids (max=HIGH) ======================================================================================== Всего контейнеров проанализировано: 54 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: attic:attic Контейнеров: 1 + +Контейнер: nix-cache Образ: ghcr.io/zhaofengli/attic + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: attic:db Контейнеров: 1 + +Контейнер: attic-db-1 Образ: postgres:17.6-alpine + Версия: tag=17.6-alpine label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: docker:watchtower Контейнеров: 1 + +Контейнер: docker-watchtower-1 Образ: containrrr/watchtower + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: docker:ygg Контейнеров: 1 + +Контейнер: yggdrasil Образ: docker-ygg + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: gitea:db Контейнеров: 1 + +Контейнер: gitea-db Образ: postgres:17 + Версия: tag=17 label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: gitea:gitea Контейнеров: 1 + +Контейнер: gitea Образ: docker.gitea.com/gitea:latest + Версия: tag=latest label=1.25.3 + Source repo: https://github.com/go-gitea/gitea + Источник зависимостей: git + Манифесты: 5 + Зависимости: 546 (после дедупликации) + По экосистемам: go=441, npm=105 + OSV: уязвимости=1; затронутые пакеты=1; проверено пакетов=385 (CRITICAL=1, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:happy-dom@18.0.1 -> 1 ids (max=CRITICAL) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: gitea:runner Контейнеров: 1 + +Контейнер: gitea-runner Образ: gitea/act_runner:nightly + Версия: tag=nightly label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: glitchtip:bug Контейнеров: 1 + +Контейнер: glitchtip-bug-1 Образ: glitchtip/glitchtip:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: container + Манифесты: 1 + Зависимости: 37 (после дедупликации) + По экосистемам: pypi=37 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: glitchtip:bug-postgres Контейнеров: 1 + +Контейнер: glitchtip-bug-postgres-1 Образ: postgres:17 + Версия: tag=17 label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: glitchtip:bug-redis Контейнеров: 1 + +Контейнер: glitchtip-bug-redis-1 Образ: valkey/valkey:latest + Версия: tag=latest label=None + Source repo: https://github.com/valkey-io/valkey + Источник зависимостей: git + Манифесты: 1 + Зависимости: 2 (после дедупликации) + По экосистемам: pypi=2 + OSV: уязвимости=4; затронутые пакеты=1; проверено пакетов=2 (HIGH=1, MEDIUM=1, UNKNOWN=2) + OSV: топ уязвимых зависимостей: + - PyPI:redis@4.5.1 -> 4 ids (max=HIGH) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: glitchtip:bug-worker Контейнеров: 1 + +Контейнер: glitchtip-bug-worker-1 Образ: glitchtip/glitchtip:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: container + Манифесты: 1 + Зависимости: 37 (после дедупликации) + По экосистемам: pypi=37 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: immich:database Контейнеров: 1 + +Контейнер: immich_postgres Образ: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 + Версия: tag=None label=14-vectorchord0.4.3-pgvector0.8.1-pgvectors0.2.0 + Source repo: https://github.com/immich-app/base-images + Источник зависимостей: git + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: immich:immich-machine-learning Контейнеров: 1 + +Контейнер: immich_machine_learning Образ: ghcr.io/immich-app/immich-machine-learning:v2 + Версия: tag=v2 label=v2.4.1 + Source repo: https://github.com/immich-app/immich + Источник зависимостей: git + Манифесты: 14 + Зависимости: 272 (после дедупликации) + По экосистемам: npm=251, pypi=21 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=38 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: immich:immich-server Контейнеров: 1 + +Контейнер: immich_server Образ: ghcr.io/immich-app/immich-server:v2 + Версия: tag=v2 label=v2.4.1 + Source repo: https://github.com/immich-app/immich + Источник зависимостей: container + Манифесты: 2 + Зависимости: 142 (после дедупликации) + По экосистемам: npm=142 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=96 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: immich:redis Контейнеров: 1 + +Контейнер: immich_redis Образ: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa + Версия: tag=None label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: new_sharkey:new_sharkey Контейнеров: 1 + +Контейнер: new_blog Образ: registry.activitypub.software/transfem-org/sharkey:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: container + Манифесты: 6 + Зависимости: 223 (после дедупликации) + По экосистемам: npm=223 + OSV: уязвимости=13; затронутые пакеты=9; проверено пакетов=217 (CRITICAL=1, HIGH=7, MEDIUM=5, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:pnpm@9.6.0 -> 4 ids (max=HIGH) + - npm:nodemailer@6.10.1 -> 2 ids (max=MEDIUM) + - npm:form-data@4.0.2 -> 1 ids (max=CRITICAL) + - npm:glob@11.0.0 -> 1 ids (max=HIGH) + - npm:tar@7.4.3 -> 1 ids (max=HIGH) + - npm:axios@1.9.0 -> 1 ids (max=HIGH) + - npm:systeminformation@5.25.11 -> 1 ids (max=HIGH) + - npm:typeorm@0.3.22 -> 1 ids (max=HIGH) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: new_sharkey:sh_db Контейнеров: 1 + +Контейнер: new_sharkey-sh_db-1 Образ: postgres:15-alpine + Версия: tag=15-alpine label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: new_sharkey:sh_meilisearch Контейнеров: 1 + +Контейнер: new_sharkey-sh_meilisearch-1 Образ: getmeili/meilisearch:v1.3.4 + Версия: tag=v1.3.4 label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: new_sharkey:sh_redis Контейнеров: 1 + +Контейнер: new_sharkey-sh_redis-1 Образ: redis:7-alpine + Версия: tag=7-alpine label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: peertube:peertube Контейнеров: 1 + +Контейнер: peertube Образ: chocobozzz/peertube:production-bookworm + Версия: tag=production-bookworm label=None + Source repo: None + Источник зависимостей: container + Манифесты: 12 + Зависимости: 1338 (после дедупликации) + По экосистемам: npm=1336, pypi=2 + OSV: уязвимости=13; затронутые пакеты=12; проверено пакетов=1217 (HIGH=10, MEDIUM=4, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:@angular/compiler@19.2.14 -> 2 ids (max=HIGH) + - npm:nodemailer@7.0.3 -> 2 ids (max=MEDIUM) + - npm:@angular/common@19.2.14 -> 1 ids (max=HIGH) + - npm:@angular/core@19.2.14 -> 1 ids (max=HIGH) + - npm:axios@1.11.0 -> 1 ids (max=HIGH) + - npm:glob@10.4.5 -> 1 ids (max=HIGH) + - npm:ip@2.0.1 -> 1 ids (max=HIGH) + - npm:qs@6.14.0 -> 1 ids (max=HIGH) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: peertube:postgres Контейнеров: 1 + +Контейнер: peertube-postgres-1 Образ: postgres:13-alpine + Версия: tag=13-alpine label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: peertube:redis Контейнеров: 1 + +Контейнер: peertube-redis-1 Образ: redis:6-alpine + Версия: tag=6-alpine label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: rybbit:backend Контейнеров: 1 + +Контейнер: backend Образ: ghcr.io/rybbit-io/rybbit-backend:latest + Версия: tag=latest label=v2.3.1 + Source repo: https://github.com/rybbit-io/rybbit + Источник зависимостей: container + Манифесты: 12 + Зависимости: 138 (после дедупликации) + По экосистемам: npm=138 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=4 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: rybbit:clickhouse Контейнеров: 1 + +Контейнер: clickhouse Образ: clickhouse/clickhouse-server:25.4.2 + Версия: tag=25.4.2 label=22.04 + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: rybbit:client Контейнеров: 1 + +Контейнер: client Образ: ghcr.io/rybbit-io/rybbit-client:latest + Версия: tag=latest label=v2.3.1 + Source repo: https://github.com/rybbit-io/rybbit + Источник зависимостей: container + Манифесты: 12 + Зависимости: 110 (после дедупликации) + По экосистемам: npm=110 + OSV: уязвимости=1; затронутые пакеты=1; проверено пакетов=62 (HIGH=1, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:better-auth@1.3.27 -> 1 ids (max=HIGH) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: rybbit:postgres Контейнеров: 1 + +Контейнер: postgres Образ: postgres:17.4 + Версия: tag=17.4 label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: services:dns Контейнеров: 1 + +Контейнер: blocky Образ: ghcr.io/0xerr0r/blocky + Версия: tag=latest label=v0.28.2 + Source repo: https://github.com/0xERR0R/blocky + Источник зависимостей: git + Манифесты: 2 + Зависимости: 216 (после дедупликации) + По экосистемам: go=216 + OSV: уязвимости=4; затронутые пакеты=1; проверено пакетов=162 (MEDIUM=2, UNKNOWN=2) + OSV: топ уязвимых зависимостей: + - Go:golang.org/x/crypto@v0.44.0 -> 4 ids (max=MEDIUM) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: services:mail Контейнеров: 1 + +Контейнер: mail Образ: ghcr.io/docker-mailserver/docker-mailserver:latest + Версия: tag=latest label=v15.1.0 + Source repo: https://github.com/docker-mailserver/docker-mailserver + Источник зависимостей: git + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: services:matrix Контейнеров: 1 + +Контейнер: services-matrix-1 Образ: forgejo.ellis.link/continuwuation/continuwuity:latest + Версия: tag=latest label=v0.5.3 + Source repo: https://forgejo.ellis.link/continuwuation/continuwuity + Источник зависимостей: git + Манифесты: 15 + Зависимости: 926 (после дедупликации) + По экосистемам: cargo=573, npm=353 + OSV: уязвимости=4; затронутые пакеты=4; проверено пакетов=917 (HIGH=1, MEDIUM=1, UNKNOWN=2) + OSV: топ уязвимых зависимостей: + - npm:@remix-run/router@1.23.1 -> 1 ids (max=HIGH) + - npm:mdast-util-to-hast@13.2.0 -> 1 ids (max=MEDIUM) + - crates.io:paste@1.0.15 -> 1 ids (max=UNKNOWN) + - crates.io:rustls-pemfile@2.2.0 -> 1 ids (max=UNKNOWN) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: services:ntfy Контейнеров: 1 + +Контейнер: ntfy Образ: binwiederhier/ntfy + Версия: tag=latest label=None + Source repo: https://github.com/binwiederhier/ntfy + Источник зависимостей: git + Манифесты: 5 + Зависимости: 797 (после дедупликации) + По экосистемам: go=111, npm=684, pypi=2 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=774 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: services:turn Контейнеров: 1 + +Контейнер: turn Образ: coturn/coturn:latest + Версия: tag=latest label=4.8.0-r0 + Source repo: https://github.com/coturn/coturn + Источник зависимостей: git + Манифесты: 1 + Зависимости: 1 (после дедупликации) + По экосистемам: npm=1 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:baikal Контейнеров: 1 + +Контейнер: baikal Образ: ckulka/baikal:nginx + Версия: tag=nginx label=0.10.1 + Source repo: https://github.com/ckulka/baikal-docker + Источник зависимостей: git + Манифесты: 2 + Зависимости: 281 (после дедупликации) + По экосистемам: npm=281 + OSV: уязвимости=3; затронутые пакеты=3; проверено пакетов=281 (CRITICAL=1, HIGH=1, MEDIUM=1, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:form-data@4.0.2 -> 1 ids (max=CRITICAL) + - npm:qs@6.14.0 -> 1 ids (max=HIGH) + - npm:js-yaml@4.1.0 -> 1 ids (max=MEDIUM) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:caddy Контейнеров: 1 + +Контейнер: caddy Образ: caddy:latest + Версия: tag=latest label=v2.10.2 + Source repo: https://github.com/caddyserver/caddy-docker + Источник зависимостей: git + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:cinny Контейнеров: 1 + +Контейнер: cinny Образ: ajbura/cinny + Версия: tag=latest label=v4.10.2 + Source repo: https://github.com/cinnyapp/cinny + Источник зависимостей: git + Манифесты: 2 + Зависимости: 924 (после дедупликации) + По экосистемам: npm=924 + OSV: уязвимости=9; затронутые пакеты=11; проверено пакетов=924 (HIGH=3, MEDIUM=8, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:@remix-run/router@1.13.0 -> 1 ids (max=HIGH) + - npm:linkifyjs@4.1.3 -> 1 ids (max=HIGH) + - npm:tar@6.2.1 -> 1 ids (max=HIGH) + - npm:@babel/helpers@7.26.0 -> 1 ids (max=MEDIUM) + - npm:@babel/runtime@7.26.0 -> 1 ids (max=MEDIUM) + - npm:@babel/runtime-corejs3@7.26.0 -> 1 ids (max=MEDIUM) + - npm:esbuild@0.19.12 -> 1 ids (max=MEDIUM) + - npm:js-yaml@4.1.0 -> 1 ids (max=MEDIUM) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:cloud Контейнеров: 1 + +Контейнер: copyparty Образ: ghcr.io/9001/copyparty-ac:latest + Версия: tag=latest label=None + Source repo: https://github.com/9001/copyparty + Источник зависимостей: git + Манифесты: 1 + Зависимости: 10 (после дедупликации) + По экосистемам: pypi=10 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:cryptpad Контейнеров: 1 + +Контейнер: cryptpad Образ: cryptpad/cryptpad:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: container + Манифесты: 12 + Зависимости: 604 (после дедупликации) + По экосистемам: npm=604 + OSV: уязвимости=3; затронутые пакеты=3; проверено пакетов=510 (HIGH=2, MEDIUM=1, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:jws@3.2.2 -> 1 ids (max=HIGH) + - npm:qs@6.13.0 -> 1 ids (max=HIGH) + - npm:js-yaml@4.1.0 -> 1 ids (max=MEDIUM) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:dockge Контейнеров: 1 + +Контейнер: sites-dockge-1 Образ: louislam/dockge:1 + Версия: tag=1 label=None + Source repo: None + Источник зависимостей: container + Манифесты: 12 + Зависимости: 857 (после дедупликации) + По экосистемам: npm=857 + OSV: уязвимости=14; затронутые пакеты=10; проверено пакетов=799 (CRITICAL=1, HIGH=6, MEDIUM=8, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:vite@5.4.15 -> 5 ids (max=MEDIUM) + - npm:tar-fs@2.1.2 -> 2 ids (max=HIGH) + - npm:form-data@4.0.2 -> 1 ids (max=CRITICAL) + - npm:axios@1.8.4 -> 1 ids (max=HIGH) + - npm:jws@3.2.2 -> 1 ids (max=HIGH) + - npm:qs@6.13.0 -> 1 ids (max=HIGH) + - npm:tar@6.2.1 -> 1 ids (max=HIGH) + - npm:@intlify/core-base@10.0.6 -> 1 ids (max=MEDIUM) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:fourget Контейнеров: 1 + +Контейнер: fourget Образ: luuul/4get:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:intellectual Контейнеров: 1 + +Контейнер: sites-intellectual-1 Образ: insprill/intellectual:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:it-tools Контейнеров: 1 + +Контейнер: it-tools Образ: ghcr.io/sharevb/it-tools:latest + Версия: tag=latest label=1.28.0-alpine + Source repo: https://github.com/nginx/docker-nginx-unprivileged + Источник зависимостей: git + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:mail-web Контейнеров: 1 + +Контейнер: mail-frontend Образ: roundcube/roundcubemail:latest + Версия: tag=latest label=None + Source repo: https://github.com/roundcube/roundcubemail-docker + Источник зависимостей: container + Манифесты: 1 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:main Контейнеров: 1 + +Контейнер: index Образ: g.lair.moe/sweetbread/lair.moe:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: container + Манифесты: 1 + Зависимости: 3 (после дедупликации) + По экосистемам: pypi=3 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=1 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:notes Контейнеров: 1 + +Контейнер: sites-notes-1 Образ: triliumnext/notes:latest + Версия: tag=latest label=v0.95.0 + Source repo: https://github.com/TriliumNext/Notes + Источник зависимостей: container + Манифесты: 3 + Зависимости: 25 (после дедупликации) + По экосистемам: npm=25 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=10 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:rss Контейнеров: 1 + +Контейнер: freshrss Образ: freshrss/freshrss:edge + Версия: tag=edge label=1.28.1-dev + Source repo: https://github.com/FreshRSS/FreshRSS + Источник зависимостей: container + Манифесты: 2 + Зависимости: 449 (после дедупликации) + По экосистемам: npm=449 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=449 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:shlink Контейнеров: 1 + +Контейнер: sites-shlink-1 Образ: shlinkio/shlink:stable + Версия: tag=stable label=5.0.0 + Source repo: https://github.com/shlinkio/shlink + Источник зависимостей: container + Манифесты: 1 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:status Контейнеров: 1 + +Контейнер: uptime-kuma Образ: ghcr.io/louislam/uptime-kuma:nightly2 + Версия: tag=nightly2 label=None + Source repo: https://github.com/louislam/uptime-kuma + Источник зависимостей: container + Манифесты: 11 + Зависимости: 211 (после дедупликации) + По экосистемам: npm=211 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=2 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:translite Контейнеров: 1 + +Контейнер: translite Образ: git.bloat.cat/gospodin/translite:master + Версия: tag=master label=None + Source repo: https://git.bloat.cat/gospodin/translite + Источник зависимостей: git + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:vaultwarden Контейнеров: 1 + +Контейнер: pass Образ: vaultwarden/server:latest + Версия: tag=latest label=1.35.2 + Source repo: https://github.com/dani-garcia/vaultwarden + Источник зависимостей: git + Манифесты: 5 + Зависимости: 796 (после дедупликации) + По экосистемам: cargo=566, npm=230 + OSV: уязвимости=7; затронутые пакеты=7; проверено пакетов=796 (HIGH=2, MEDIUM=2, UNKNOWN=3) + OSV: топ уязвимых зависимостей: + - crates.io:vaultwarden@1.0.0 -> 1 ids (max=HIGH) + - npm:qs@6.14.0 -> 1 ids (max=HIGH) + - npm:body-parser@2.2.0 -> 1 ids (max=MEDIUM) + - npm:nodemailer@7.0.9 -> 1 ids (max=MEDIUM) + - crates.io:async-std@1.13.2 -> 1 ids (max=UNKNOWN) + - crates.io:rsa@0.9.9 -> 1 ids (max=UNKNOWN) + - crates.io:rustls-pemfile@1.0.4 -> 1 ids (max=UNKNOWN) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: sites:vert Контейнеров: 1 + +Контейнер: vert Образ: ghcr.io/vert-sh/vert:latest + Версия: tag=latest label=main + Source repo: https://github.com/VERT-sh/VERT + Источник зависимостей: git + Манифесты: 1 + Зависимости: 46 (после дедупликации) + По экосистемам: npm=46 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=1 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: vpn:remnanode Контейнеров: 1 + +Контейнер: remnanode Образ: remnawave/node:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: container + Манифесты: 12 + Зависимости: 92 (после дедупликации) + По экосистемам: npm=92 + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=32 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: vpn:remnawave Контейнеров: 1 + +Контейнер: remnawave Образ: remnawave/backend:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: container + Манифесты: 12 + Зависимости: 1096 (после дедупликации) + По экосистемам: npm=1096 + OSV: уязвимости=2; затронутые пакеты=2; проверено пакетов=1082 (HIGH=2, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:qs@6.14.0 -> 1 ids (max=HIGH) + - npm:systeminformation@5.27.13 -> 1 ids (max=HIGH) +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: vpn:remnawave-db Контейнеров: 1 + +Контейнер: remnawave-db Образ: postgres:17.6 + Версия: tag=17.6 label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: vpn:remnawave-redis Контейнеров: 1 + +Контейнер: remnawave-redis Образ: valkey/valkey:8.0.2-alpine + Версия: tag=8.0.2-alpine label=None + Source repo: None + Источник зависимостей: none + Манифесты: 0 + Зависимости: 0 (после дедупликации) + OSV: уязвимости=0; затронутые пакеты=0; проверено пакетов=0 +──────────────────────────────────────────────────────────────────────────────────────── +Сервис: vpn:remnawave-subscription-page Контейнеров: 1 + +Контейнер: remnawave-subscription-page Образ: remnawave/subscription-page:latest + Версия: tag=latest label=None + Source repo: None + Источник зависимостей: container + Манифесты: 12 + Зависимости: 737 (после дедупликации) + По экосистемам: npm=737 + OSV: уязвимости=2; затронутые пакеты=2; проверено пакетов=715 (HIGH=2, UNKNOWN=0) + OSV: топ уязвимых зависимостей: + - npm:qs@6.14.0 -> 1 ids (max=HIGH) + - npm:systeminformation@5.27.13 -> 1 ids (max=HIGH) +======================================================================================== +Всего контейнеров проанализировано: 54