Files
sabia/CHANGELOG.pt-BR.md
T
Lucas RayanandClaude Sonnet 5.5 30a086a808
CI / Formatação e clippy (push) Successful in 20s
CI / Testes (Linux) (push) Successful in 23s
CI / Auditoria de dependências (push) Successful in 13s
Release / Cria a release (push) Successful in 8s
Release / CLI (linux-aarch64) (push) Successful in 48s
CI / Compila o app desktop (Linux) (push) Successful in 1m18s
Release / CLI (linux-x86_64) (push) Successful in 1m2s
Release / App desktop (windows) (push) Failing after 3m27s
Release / App desktop (linux) (push) Successful in 5m4s
release 1.0.3: correct version labels, Windows build fixed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 14:41:00 -03:00

8.1 KiB

Changelog

English · Português

Formato baseado em Keep a Changelog; versões seguem SemVer.

[1.0.3] - 2026-10-30

Corrigido

  • O deauth_directional não tinha o próprio #[cfg(target_os = "linux")]; todo build fora do Linux falhava com uma definição duplicada e imports só de Linux fora de escopo. Por isso a v1.0.1 e a v1.0.2 nunca tiveram um app desktop funcional para Windows, e o pacote Linux da v1.0.2 saiu rotulado 1.0.1 (a versão no Cargo.toml não tinha sido atualizada). Use a v1.0.3.

[1.0.2] - 2026-10-30

Corrigido

  • O build do app desktop no CI procurava o pacote em target/, mas o diretório do Cargo no runner é outro e persiste entre execuções; os jobs de Linux e Windows falhavam antes de publicar qualquer coisa. Por isso o app desktop da v1.0.1 nunca foi publicado — use a v1.0.2.

[1.0.1] - 2026-10-30

O projeto saiu do GitHub para o Gitea, e a verificação de atualização foi junto.

Alterado

  • As atualizações agora vêm do Gitea. O sabia update e o "Atualizar agora" do app desktop leem a última release em git.lucasrguerra.dev.br, e não mais a API do GitHub. As versões até a 1.0.0 ainda olham o GitHub, que não responde mais, e por isso não enxergam esta release: baixe a 1.0.1 uma vez, e as próximas atualizações são automáticas.
  • Pacotes da release: o CLI para Linux x86_64 e aarch64 (compilado pelo CI do Gitea quando uma tag v* é enviada, com um .sha256 ao lado de cada pacote) e o app desktop para Linux (.AppImage, .deb) e Windows (instalador NSIS .exe, compilado a partir do Linux pelo scripts/build-gui.sh). Não há mais CLI para Windows nem build para macOS: o CLI é só para Linux, e o macOS exige o SDK e a assinatura da Apple, que o CI deste projeto não tem.

Corrigido

  • O sabia update se recusa a rodar a partir do executável do app desktop (sabia-gui). O pacote da release contém o CLI, e trocar o app por ele o quebraria; o app passa a apontar para a página de downloads.

[1.0.0] - 2026-10-24

Primeira versão estável: validação em hardware real por toda a superfície de ataque, um pipeline de quebra bem mais completo, dois ataques novos (WPS, Evil Twin), relatório redesenhado e várias correções de confiabilidade que só apareceram testando contra redes Wi-Fi de verdade.

Adicionado

  • Quebra de senha: dicionário padrão trocado por uma lista de 9,7 milhões de senhas (rockyou + Probable-Wordlists, deduplicados, comprimida e embutida no binário); regras de mutação estilo hashcat (maiúscula, sufixos numéricos/símbolos, leet simples); força bruta por máscara (sintaxe ?d?l?u?s?a); exportação .hc22000 (individual ou em lote) para levar o handshake direto ao hashcat/John.
  • Ataque WPS: PIN/Pixie Dust via reaver embutido (extraído em tempo de execução), ou bully quando instalado no sistema.
  • Evil Twin: clona um AP já visto na sessão (SSID aberto) numa segunda interface com portal cativo, para WPA/WPA2-PSK — a senha só é aceita depois de conferida de verdade contra o handshake real já capturado, nunca "aceita qualquer coisa". Uma variante Enterprise (802.1X/EAP) captura credenciais automaticamente via hostapd-wpe, sem portal nem ação humana, já que a credencial viaja no próprio handshake EAP.
  • Decriptação de tráfego CCMP de um cliente assim que a senha do handshake dele é conhecida (Temporal Key derivada da PMK quebrada).
  • Pontuação de interferência de canais por banda e achados de segurança (rede aberta, PMF ausente, WPS exposto, possível evil twin por SSID duplicado).
  • Relatório de auditoria redesenhado: capa em página cheia com o logo embutido, sumário com âncoras, cabeçalho/rodapé corridos via margin boxes do @page (seção atual, numeração de página), cards de KPI e achados com cor por severidade — a paginação continua feita pelo Paged.js no navegador, imprimível em PDF.
  • ScanSnapshot.warning: avisa quando uma captura está rodando há um tempo sem receber nenhum quadro — uma placa que aceita ativar modo monitor sem realmente entregar captura (comum em Wi-Fi interno de notebook) agora diz isso, em vez de ficar "escutando o ar" caladinha.

Corrigido

  • Captura de handshake nunca completava em rede real: eapol.rs lia key_info/replay_counter/key_data_len como little-endian; esses campos do 802.1X são big-endian. O deauth funcionava, os quadros EAPOL eram vistos, mas o HandshakeTracker descartava todos silenciosamente — 0 handshakes não importa quanto tráfego fosse gerado. Os próprios quadros sintéticos de teste do projeto cometiam o mesmo engano simetricamente, então os testes de ida e volta nunca pegaram isso; verificado ao vivo contra um AP real depois da correção.
  • Modo monitor brigando com o NetworkManager: set_monitor() agora solta a interface do NetworkManager antes de trocar de modo e devolve depois — sem isso o NM reafirmava a própria conexão em segundos e a captura caía com "está em modo managed".
  • Evil Twin deixava o sistema pela metade se o processo morresse no meio (Ctrl+C, kill -9, queda de energia): as duas interfaces ficavam presas em managed=no pra sempre, Wi-Fi sumia do painel do sistema. Um arquivo de estado mais uma rotina de autocura a cada início do engine desfazem isso sozinhos agora; o sabia ui também trata SIGINT graciosamente.
  • Quadros repetidos de deauth/disassoc eram descartados como duplicata depois do primeiro envio — o mesmo Sequence Control era reusado em toda injeção; agora incrementa por quadro.
  • Lista de redes reordenava debaixo do cursor durante a captura, porque a ordenação por sinal reagia a cada oscilação de 1-2 dBm; a ordem agora é estável (ordem de chegada, sinal arredondado em buckets de 4 dBm).
  • "Forçar handshake" falhava se a captura tivesse sido parada: agora religa a captura sozinho e espera o alvo reaparecer com canal conhecido antes de disparar o job, em vez de travar no canal em que o scanner por acaso estava saltando.
  • Grid da aba Ataques deixava buracos vazios grandes quando dois cards de alturas muito diferentes caíam na mesma linha; trocado por um layout de colunas tipo alvenaria.

Alterado

  • crack_reader/crack_mask paralelizam entre os núcleos disponíveis e reaproveitam a base do HMAC por iteração em vez de reconstruí-la — cerca de 640x mais rápido em build release comparado ao caminho original debug/single-thread.

[0.1.0] - 2026-10-23

Primeira versão: CLI, app desktop e núcleo compartilhado.

Adicionado

  • sabia-core: descoberta de interfaces Wi-Fi, controle de modo monitor e canal (via netlink/iw), varredura de 2.4, 5 e 6 GHz, captura crua de quadros 802.11 por AF_PACKET (sem libpcap), parsing de radiotap e de quadros de gerenciamento (beacon, probe, EAPOL), agregação de APs e clientes, captura de 4-way handshake e PMKID, quebra offline por dicionário (PBKDF2-HMAC-SHA1, MIC e PMKID) para WPA/WPA2-PSK, escrita e leitura de .pcap, injeção de quadros, trilha de auditoria local encadeada por hash, auto-atualização por releases do GitHub.
  • sabia: CLI com iface (list/channels/monitor), scan, analyze, crack, deauth (com --yes), doctor, audit (verify/show), update e ui (servidor local da interface).
  • App desktop (Tauri) com a mesma interface servida pelo sabia ui, pedindo elevação de administrador automaticamente ao abrir — modo monitor e captura crua exigem root/admin.
  • Interface gráfica: sidebar de interfaces, painel de captura com linha de sinal animada, tabela de redes com barras de sinal e selos de segurança por cor, aviso de uso autorizado, botão de atualização em um clique, temas Auto/ Claro/Escuro e idioma português e inglês.
  • CI com caches (rust-cache, .deb do Tauri em cache) e pipeline de release multiplataforma (CLI em 5 alvos e app desktop via tauri-action).