Esqueleto inicial: sabia-core + sabia-cli + UI local, OpenWolf

- sabia-core: descoberta de interfaces, controle de modo monitor/canal
  via iw (ponte até ter nl80211 nativo), captura crua 802.11 via
  AF_PACKET (sem libpcap), parsing de radiotap e quadros de
  gerenciamento (beacon/probe/EAPOL), agregação em tabela de APs/
  clientes, escrita de .pcap, trilha de auditoria encadeada por hash,
  auto-atualização via GitHub releases (curl, sem dependências de
  rede extras)
- sabia-cli: `sabia iface`, `sabia scan`, `sabia update`,
  `sabia audit-verify`, `sabia ui` (servidor local + navegador,
  protegido por token, mesma filosofia do Guará)
- OpenWolf inicializado para memória de projeto entre agentes
This commit is contained in:
Lucas committed 2026-10-23 08:22:04 -03:00
commit e989413018
76 files changed
+8386

No files matched your search

+47
View File
@@ -0,0 +1,47 @@
# Sabiá
Auditoria, monitoramento e pentest de redes Wi-Fi — terminal e interface
gráfica sobre o mesmo núcleo, nos moldes do [Guará](../Guará): a parte
complexa (netlink, radiotap, parsing de quadro 802.11) fica escondida em
`sabia-core`; CLI e GUI só consomem.
> Use apenas em redes próprias ou com autorização explícita do responsável
> pela rede (engajamento de pentest formal). Toda ativação de modo monitor
> e sessão de captura é registrada numa trilha de auditoria local
> encadeada por hash (`.sabia-audit.log`).
## Estrutura
```
crates/sabia-core biblioteca: netlink (iw), radiotap, parsing 802.11,
captura crua (AF_PACKET), auditoria, auto-atualização
crates/sabia-cli binário `sabia`: comandos de terminal + servidor
local da interface (`sabia ui`)
apps/gui/ui mesma página HTML/JS servida pelo `sabia ui`
apps/gui/src-tauri shell desktop (Tauri) — esqueleto, igual ao Guará
```
## Uso
```
sabia iface list # lista interfaces, marca as Wi-Fi
sabia iface monitor <if> on # liga modo monitor (precisa root)
sabia scan <if> --out captura.pcap # varre canais, mostra APs/clientes
sabia ui # abre a interface gráfica local
sabia update # verifica atualização
sabia update --apply # baixa e aplica a atualização
```
Capturar quadros 802.11 exige `CAP_NET_RAW`/`CAP_NET_ADMIN` — normalmente
root (`sudo sabia ...`).
## Dependências externas
`iw` e `ip` (iproute2) para controlar modo monitor e canal — é uma ponte
deliberada até existir uma implementação nl80211 nativa. A captura em si
(AF_PACKET) e todo o parsing de quadro são Rust puro, sem libpcap.
## Hardware testado
Adaptador USB RTL8812AU (driver `rtw88_8812au`), suporta modo monitor e
injeção.