◈ ProjView
← todos os projetos

tls-auditor

Python Defensiva GitHub ↗

Auditor de configuração TLS/SSL: detecta protocolos/cifras fracas e certificados expirados.

10 testes · 10 passou · 0 falhou · 0 skip

Entrypoints (CLI)

Módulos e funções principais

src/tls_auditor/auditor.py
  • classify_protocol() — Classifica uma string de versão de protocolo como fraca ou ok.
  • is_weak_cipher() — Detecta se um cipher é considerado fraco pelos marcadores conhecidos.
  • split_weak_ciphers() — Recebe uma lista de nomes de ciphers e separa fracos de seguros.
  • check_cert_expiry() — Conecta e inspeciona o certificado TLS (expiração). Offline-friendly.
src/tls_auditor/cli.py
  • build_parser()
  • main()
src/tls_auditor/scanner.py
  • is_cert_expired() — Recebe a data de expiração do certificado e diz se já venceu.
  • scan_host() — Conecta a host:porta, coleta protocolo, ciphers e validade do cert.
  • build_report() — Monta o dicionário de resultado da varredura de forma testável.

Estrutura de arquivos

README

# tls-auditor Auditor defensivo de configuração **TLS/SSL**. Dado um `host:porta`, abre uma conexão SSL e lista protocolos/versões suportadas, cifras (ciphers) e aponta configurações fracas. ## Aviso ético Esta ferramenta é **educacional e defensiva**. Use-a apenas em sistemas de sua propriedade ou nos quais tenha autorização explícita para realizar testes de segurança. Varrer hosts de terceiros sem permissão pode violar leis e políticas de uso. O autor não se responsabiliza por uso indevido. ## Instalação ```bash pip install -e . ``` Requer Python 3.10+ (apenas biblioteca padrão). ## Uso ```bash tls-auditor example.com tls-auditor example.com --port 8443 ``` A saída mostra o protocolo negociado, o cipher e o estado de validade do certificado, sinalizando configurações inseguras. ## O que é detectado como fraco - Protocolos: **SSLv3**, **TLS 1.0**, **TLS 1.1** - Cifras: **NULL**, **RC4**, **3DES**, **EXPORT**, **DES-CBC** - Certificado **expirado** ## Testes ```bash pip install pytest pytest tests/ ``` ## Licença MIT — Copyright (c) 2026 Diogo Damasceno. Veja `LICENSE`.
tls-auditor SIM NÃO SIM NÃO host:porta Abrir conexão SSL/TLS Conectou? Listar protocolos e ciphers negociados Há protocolo/cifra fraca? Sinalizar SSLv3/TLS1.0/1.1, NULL/EXPORT Verificar validade do certificado Relatório de configuração TLS

Como rodar na prática (entrada → saída):

$ tls-auditor exemplo.com:443
TLS 1.2/1.3 ok\nCifra fraca: TLS_RSA_WITH_AES_128_CBC_SHA\nCert valido ate 2026-08-01