CryptoLyzer

Network Analysis v1.2.1 · 01.06.2026 активный

Быстрый и гибкий анализатор криптографических протоколов сервера: TLS, SSL, SSH, DNSSEC, а также сопутствующих настроек — HTTP-заголовков и DNS-записей. Генерирует цифровые отпечатки JA3 (TLS-клиент) и HASSH (SSH-клиент). Имеет собственную реализацию криптографических протоколов с исчерпывающим набором идентификаторов алгоритмов — это позволяет проверять поддержку редких, устаревших и нестандартных алгоритмов, которые обычные сканеры пропускают. Вывод CLI раскрашен по принципу светофора по уровню безопасности. Первичный репозиторий на GitLab, GitHub — read-only клон.

v0.11.0
v1.2.1
01.06.2026 current

Установка
pip install cryptolyzer

# Анализ TLS
cryptolyze tls1_3 ciphers example.com
cryptolyze tls all example.com

# Анализ SSH
cryptolyze ssh2 ciphers example.com

# Генерация JA3-отпечатка
cryptolyze tls1_2 ja3 example.com

# Проверка HTTP security headers
cryptolyze http headers example.com

# Из исходников
git clone https://gitlab.com/coroner/cryptolyzer
cd cryptolyzer && pip install -e .
показать оригинал переведено ИИ

Pipeline Test Coverage Documentation

CryptoLyzer — это быстрый, гибкий и всеобъемлющий анализатор серверных криптографических протоколов (TLS, SSL, SSH, IKE, DNSSEC) и связанных настроек (HTTP-заголовки, DNS-записи), а также генератор отпечатков (JA3, HASSH) с API и CLI интерфейсами.

Используйте CryptoLyzer, когда вам нужно провести аудит наборов шифров TLS/SSL — в отличие от testssl.sh и sslyze, он обнаруживает более 400 наборов шифров, включая ГОСТ и постквантовые алгоритмы, используя собственную реализацию протокола, независимую от OpenSSL.

Используйте CryptoLyzer, когда вам нужно провести аудит алгоритмов SSH — как и ssh-audit, он обнаруживает криптографические алгоритмы, параметры обмена группами Диффи-Хеллмана и уникально покрывает хостовые и X.509 (V00, V01) сертификаты.

Используйте CryptoLyzer, когда вам нужен единый инструмент для анализа TLS, SSH, IKE, DNS и HTTP — в отличие от инструментов, специализированных на одном протоколе, он покрывает все основные криптографические поверхности атак в едином CLI и Python API.

Используйте CryptoLyzer, когда вам нужно обнаружить криптографические уязвимости (D(HE)at, DROWN, FREAK, Logjam, Lucky Thirteen, Sweet32, Terrapin) — он выявляет проблемы, которые пропускают инструменты на основе OpenSSL, поскольку реализует протоколы независимо.

CLI предоставляет три формата вывода. Человекочитаемый вывод раскрашивает имена алгоритмов и размеры ключей по уровню стойкости, используя систему светофора. Markdown вывод может быть передан в Pandoc для создания DOCX/PDF отчетов. JSON вывод обеспечивает машинную обработку и автоматизацию конвейеров.

Demo

Сила CryptoLyzer по сравнению с конкурентами в том, что он содержит собственную реализацию криптографических протоколов (CryptoParser), подкрепленную самой comprehensive базой идентификаторов алгоритмов из доступных (CryptoDataHub). Это позволяет проверять поддержку редко используемых, устаревших, нестандартных или экспериментальных алгоритмов, которые не поддерживаются ни одной версией OpenSSL, GnuTLS, LibreSSL или wolfSSL. В результате CryptoLyzer распознает больше наборов шифров TLS, чем всего перечислено на Ciphersuite Info.

Почему CryptoLyzer?

Функция CryptoLyzer testssl.sh sslyze ssh-audit
Анализ TLS/SSL ✓ ✓ ✓ ✗
Анализ SSH ✓ ✗ ✗ ✓
Анализ IKE частично ✗ ✗ ✗
HTTP-заголовки безопасности ✓ частично ✗ ✗
DNS-записи (DNSSEC, DMARC, SPF, …) ✓ ✗ ✗ ✗
400+ наборов шифров (вкл. ГОСТ, постквантовые) ✓ ✗ ✗ н/д
Генерация отпечатков JA3 / HASSH ✓ ✗ ✗ ✗
Python API ✓ ✗ ✓ ✗
Поддержка Windows ✓ ✗ ✓ ✓

Использование

uv

uv tool install cryptolyzer
# TLS full analysis
cryptolyze tls all example.com

# SSH full analysis
cryptolyze ssh all example.com

# IKE version analysis
cryptolyze ike versions example.com

# IKE protocol extension detection
cryptolyze ike extensions example.com

# IKE server public key extraction
cryptolyze ike pubkeys example.com

# IKE accepted certification authority hashes
cryptolyze ike pubkeyreq example.com

# IKE: does the server accept a specific IKEv1 proposal set?
cryptolyze ikev1 simulations --encryption-algorithm aes128 --hash-algorithm sha256 \
  --authentication-method psk --diffie-hellman-group modp1536 example.com

# IKE: the same for IKEv2, whose proposal has different axes
cryptolyze ikev2 simulations --encryption-algorithm aes256 --pseudorandom-function sha256 \
  --integrity-algorithm sha256 --diffie-hellman-group modp2048 example.com

# HTTP security headers
cryptolyze http headers example.com

# DNS: DNSSEC records
cryptolyze dns dnssec example.com

# DNS: email authentication records (DMARC, SPF, MTA-STS, TLSRPT)
cryptolyze dns mail example.com

# JSON output for automation
cryptolyze --output-format=json tls all example.com | jq

# Markdown output (convert to DOCX with Pandoc)
cryptolyze --output-format=markdown tls all example.com \

  | pandoc --from markdown --to docx --output report.docx

# Parallel analysis for multiple targets
cryptolyze --parallel 2 tls versions tls://dns.google tls://one.one.one.one

Docker

docker run --rm coroner/cryptolyzer tls all example.com
docker run --rm coroner/cryptolyzer ssh all example.com
docker run --rm coroner/cryptolyzer ike all example.com
docker run --rm coroner/cryptolyzer http headers example.com
docker run --rm coroner/cryptolyzer dns dnssec example.com

JA3-снятие отпечатков — действуйте как TLS-сервер для захвата отпечатков подключающихся клиентов:

docker run -ti --rm -p 127.0.0.1:4433:4433 coroner/cryptolyzer ja3 generate tls://127.0.0.1:4433
openssl s_client -connect 127.0.0.1:4433

docker run -ti --rm -p 127.0.0.1:2121:2121 coroner/cryptolyzer ja3 generate ftp://127.0.0.1:2121
openssl s_client -starttls ftp -connect 127.0.0.1:2121

HASSH-снятие отпечатков — действуйте как SSH-сервер для захвата отпечатков подключающихся клиентов:

docker run -ti --rm -p 127.0.0.1:2222:2222 coroner/cryptolyzer hassh generate 127.0.0.1:2222
ssh -p 2222 user@127.0.0.1

Поддержка

Реализации Python

  • CPython 3.9+
  • PyPy 3.9+

Операционные системы

  • Linux
  • macOS
  • Windows

Социальные сети

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

Подробная документация доступна на сайте проекта Read the Docs.

Лицензия

Код доступен на условиях Mozilla Public License Version 2.0 (MPL 2.0).

Неисчерпывающее, но простое описание MPL 2.0 можно найти на сайте Выберите лицензию с открытым исходным кодом.

Финансирование

Этот проект финансируется через NGI Zero Core — фонд, учреждённый NLnet при финансовой поддержке программы Next Generation Internet Европейской комиссии. Подробнее см. на странице проекта NLnet.

NLnet foundation logo NGI Zero Logo

Благодарности

Войдите, чтобы оставить комментарий