Files
sabia/CHANGELOG.pt-BR.md
T
Lucas RayanandClaude Sonnet 5 7e01e599fd
Release / Create release (push) Successful in 7s
CI / Format and clippy (push) Successful in 1m25s
CI / Dependency audit (push) Successful in 11s
CI / Tests (Linux) (push) Successful in 1m57s
CI / Check desktop app (Linux) (push) Successful in 3m43s
Release / CLI (linux-aarch64) (push) Successful in 45s
Release / Desktop app (linux-aarch64) (push) Successful in 4m22s
Release / CLI (linux-x86_64) (push) Successful in 51s
Release / Desktop app (linux-x86_64) (push) Successful in 4m20s
Release / Desktop app (windows) (push) Successful in 3m12s
chore(release): bump version to 1.0.5, move repository to the ciberfauna org
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VAyr8d7HuAdUGB6aA5xmDD
2026-10-31 10:19:32 -03:00

151 lines
9.1 KiB
Markdown

# Changelog
[English](CHANGELOG.md) · **Português**
Formato baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/); versões seguem SemVer.
## [1.0.5] - 2026-10-31
### Adicionado
- **Atualização do app desktop em um clique.** O botão de atualizar agora baixa, confere (SHA-256) e instala a versão nova de verdade, em vez de só mudar o próprio texto. Funciona nos três pacotes do desktop: AppImage (substituição atômica), `.deb` (`dpkg -i`, sem pedir senha de novo — o app já roda como root quando você clica), e o instalador do Windows (instalação silenciosa). No Linux o app reabre sozinho; no Windows o instalador roda silencioso mas o app ainda não reabre por conta própria — abra de novo depois que a instalação terminar.
### Alterado
- **O repositório se mudou pra organização Ciberfauna** (`ciberfauna/sabia`, era `lucasrguerra/sabia`). **Aviso importante pra instalações existentes:** versões até a 1.0.4 têm o endereço antigo fixo na checagem de atualização e não vão encontrar esta versão sozinhas. Baixe a 1.0.5 manualmente uma vez na nova página de Releases, e as próximas verificações voltam a funcionar pelo novo endereço.
## [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`).