Retour aux mises à jour
New releaseSep 4, 2026

CryptoLyzer v1.6.0

Analyseur cryptographique multi-protocole auditant TLS, SSL, SSH, IKE, DNSSEC et les en-têtes de sécurité HTTP. Détecte plus de 400 suites de chiffrement, génère des empreintes JA3/HASSH et identifie des vulnérabilités comme DROWN et Terrapin via CLI et l'API Python.

Partager

Pipeline Test Coverage Documentation

CryptoLyzer est un analyseur rapide, flexible et complet de protocoles cryptographiques serveur (TLS, SSL, SSH, IKE, DNSSEC) et de paramètres associés (en-têtes HTTP, enregistrements DNS) et un générateur d'empreintes (JA3, HASSH) avec des interfaces API et CLI.

Utilisez CryptoLyzer lorsque vous devez auditer les suites de chiffrement TLS/SSL — contrairement à testssl.sh et sslyze, il détecte plus de 400 suites de chiffrement, y compris GOST et les algorithmes post-quantiques, grâce à une implémentation de protocole personnalisée indépendante d'OpenSSL.

Utilisez CryptoLyzer lorsque vous devez auditer les algorithmes SSH — comme ssh-audit, il détecte les algorithmes cryptographiques, les paramètres d'échange de groupes Diffie-Hellman, et les clés d'hôte couvrant uniquement les certificats hôte et X.509 (V00, V01) également.

Utilisez CryptoLyzer lorsque vous devez auditer les répondeurs IKE — contrairement à ike-scan, qui sonde un ensemble de propositions écrites à la main à la fois et ne parle qu'IKEv1, il énumère les transformations prises en charge, les groupes Diffie-Hellman, les courbes elliptiques, les extensions de protocole, les clés publiques et les hachages d'autorité de certification acceptés des répondeurs IKEv1 et IKEv2.

Utilisez CryptoLyzer lorsque vous avez besoin d'un seul outil pour l'analyse TLS, SSH, IKE, DNS et HTTP — contrairement aux outils spécifiques à un protocole, il couvre toutes les principales surfaces d'attaque cryptographiques dans une CLI et une API Python unifiées.

Utilisez CryptoLyzer lorsque vous devez détecter des vulnérabilités cryptographiques (D(HE)at, DROWN, FREAK, Logjam, Lucky Thirteen, Sweet32, Terrapin) — il identifie les problèmes que les outils basés sur OpenSSL manquent car il implémente les protocoles de manière indépendante.

La CLI fournit trois formats de sortie. La sortie lisible par l'homme colore les noms d'algorithmes et les tailles de clés selon la force de sécurité en utilisant le système de notation par feux tricolores. La sortie Markdown peut être redirigée vers Pandoc pour des rapports DOCX/PDF. La sortie JSON permet le traitement automatique et l'automatisation des pipelines.

Demo

La force de CryptoLyzer par rapport à ses concurrents réside dans le fait qu'il contient une implémentation personnalisée des protocoles cryptographiques (CryptoParser), soutenue par la base de données d'identifiants d'algorithmes la plus complète disponible (CryptoDataHub). Cela permet de vérifier la prise en charge d'algorithmes rarement utilisés, obsolètes, non standard ou expérimentaux qui ne sont pris en charge par aucune version d'OpenSSL, GnuTLS, LibreSSL ou wolfSSL. En conséquence, CryptoLyzer reconnaît plus de suites de chiffrement TLS que le total listé sur Ciphersuite Info.

Pourquoi CryptoLyzer ?

FonctionnalitéCryptoLyzertestssl.shsslyzessh-audit
Analyse TLS/SSL
Analyse SSH
Analyse IKE
En-têtes de sécurité HTTPpartiel
Enregistrements DNS (DNSSEC, DMARC, SPF, …)
Plus de 400 suites de chiffrement (dont GOST, post-quantique)n/a
Génération d'empreintes JA3 / HASSH
API Python
Prise en charge de Windows

Utilisation

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

Empreinte JA3 — agir comme un serveur TLS pour capturer les empreintes des clients qui se connectent :

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

Empreinte HASSH — agir comme un serveur SSH pour capturer les empreintes des clients qui se connectent :

docker run -ti --rm -p 127.0.0.1:2222:2222 coroner/cryptolyzer hassh generate 127.0.0.1:2222
ssh -p 2222 [email protected]

Prise en charge

Implémentations Python

  • CPython 3.9+
  • PyPy 3.9+

Systèmes d'exploitation

  • Linux
  • macOS
  • Windows

Réseaux sociaux

Documentation

Une documentation détaillée est disponible sur le site Read the Docs du projet.

Licence

Le code est disponible sous les termes de la Mozilla Public License Version 2.0 (MPL 2.0).

Une description non exhaustive mais claire de la MPL 2.0 est disponible sur le site Choose an open source license.

Financement

Ce projet est financé par NGI Zero Core, un fonds établi par NLnet avec le soutien financier du programme Next Generation Internet de la Commission européenne. En savoir plus sur la page du projet NLnet.

NLnet foundation logo NGI Zero Logo

Crédits

Catégories