p PatchFirst

Бесплатно · один сервер · без регистрации

Узнайте, какие стеки требуют внимания

Одна команда, обезличенный JSON или lock-файл проекта — рейтинг, вердикт и сводка рисков по стекам.

Проверяем

  • Ubuntu
  • Debian
  • Alpine
  • RHEL
  • Rocky Linux
  • AlmaLinux
  • openSUSE / SUSE
  • Docker
  • Kubernetes
  • PHP
  • Composer
  • Python
  • Node.js
  • nginx
  • Apache
  • MySQL
  • MariaDB
  • PostgreSQL
  • Redis

Скоро

  • Windows Server
  • Java / Maven
  • Go
  • Ruby
  • .NET
  • Rust

Запустите на своём сервере

Только версии программ — без ваших данных.

Скрипт на сервере собирает список программ и их версий и отмечает, какие службы видны из интернета. IP-адреса и настоящие имена серверов не отправляются, а пути заменяются необратимыми метками. Данные уходят в PatchFirst; для сверки названия и версии публичных пакетов передаются в OSV.dev без идентификатора сервера. Проверка — точная сверка с базой уязвимостей по алгоритму: на одних и тех же данных результат всегда один и тот же, без нейросетей. Языковая модель помогает только пополнять нашу базу уязвимостей из публичных новостей. С данными клиентов она не работает и их не видит.

curl -fsSL https://ru.patchfirst.dev/check.sh | sh

Python не обязателен. Нужны curl и sh; при Python 3.8+ с cryptography используется zipapp, иначе на Linux x86_64 — бинарник. Для бинарника сверяется SHA-256 с того же HTTPS-сервиса: это проверка целостности, не независимая подпись. Команда запускается без root.

Посмотреть данные до отправки

Обычная проверка запускается одной командой выше. В любом способе запуска флаг --json показывает обезличенный JSON без отправки:

curl -fsSL https://ru.patchfirst.dev/check.sh | sh -s -- --json

Или загрузите zipapp и запустите вручную с Python 3.8+. Тот же флаг покажет данные:

curl -fsSLo patchfirst.pyz https://ru.patchfirst.dev/agent/patchfirst.pyz &&
python3 patchfirst.pyz check --json --api https://ru.patchfirst.dev

После просмотра JSON отправьте данные и получите ссылку на отчёт:

python3 patchfirst.pyz check --api https://ru.patchfirst.dev
Проверить другой сервер через SSH

Готовые бинарники доступны только для Linux x86_64 (для Alpine — вариант musl). Скачайте подходящий вариант по инструкции «Бинарник без Python». На целевом Linux-сервере нужен только sh; обезличивание выполняется на вашей машине.

TMPDIR="$HOME" ./patchfirst check --ssh user@host --ssh-opt StrictHostKeyChecking=accept-new --api https://ru.patchfirst.dev

На macOS и других системах используйте .pyz: нужны Python 3.8+ и SSH-клиент. Загрузите скрипт и запустите проверку:

curl --retry 3 -fsSLo patchfirst.pyz https://ru.patchfirst.dev/agent/patchfirst.pyz &&
python3 patchfirst.pyz check --ssh user@host --ssh-opt StrictHostKeyChecking=accept-new --api https://ru.patchfirst.dev

StrictHostKeyChecking=accept-new сохраняет ключ при первом соединении и отклоняет изменившийся ключ. Проверьте отпечаток сервера отдельно до первого подключения.

Свежие уязвимости вашего стека →