Release / Plan (reuse the published image?) (push) Successful in 3s
CI / Docker image (build and smoke test) (push) Skipped
CI / Format and clippy (push) Successful in 4m32s
CI / Dependency audit (push) Successful in 11s
CI / Tests (Linux) (push) Successful in 9m15s
Release / ci (push) Successful in 9m18s
Release / Build image (arm64) (push) Failing after 7m7s
Release / Build image (amd64) (push) Failing after 13m53s
Release / Publish tags (push) Skipped
Release / Gitea release (push) Skipped
Acaua is a collective SOC daemon consuming only Zeek log files, not a single-user tool needing local hardware like its siblings. Drop the Tauri desktop shell, installers and self-update entirely; the server and its web dashboard ship as a container, updated by pulling a new image tag. Link against the official prebuilt libduckdb instead of compiling it from source via the bundled feature, cutting image build time from 15+ minutes to about 3. Fix a real bug found along the way: as PID 1 in a container, the daemon ignored SIGTERM and was always killed after the stop timeout; it now shuts down gracefully. Also corrects the Pillar 1 beaconing score: the period estimate had a harmonic alias (a perfectly periodic 4h series resolved to 600s), and the old score formula flagged pure random traffic as suspicious (p95 = 0.839 on Poisson noise). The new formula was validated against 300 samples per scenario. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VAyr8d7HuAdUGB6aA5xmDD
46 lines
2.1 KiB
Markdown
46 lines
2.1 KiB
Markdown
# Roadmap
|
|
|
|
[English](ROADMAP.md) · **Português**
|
|
|
|
Este roadmap separa o que existe do que está planejado. Os quatro pilares estão
|
|
**em desenvolvimento**; eles representam o trabalho analítico principal.
|
|
|
|
## Feito
|
|
|
|
- Workspace Rust com `acaua-core` e `acaua-cli`.
|
|
- Comandos CLI, API Axum e dashboard web embutido.
|
|
- Containerização 100% Docker, implantação Compose, perfil endurecido não-root.
|
|
- Linkagem da DuckDB pré-compilada e fundações de armazenamento Parquet.
|
|
- Stubs dos quatro pilares, fusão de evidências e ingestão Zeek.
|
|
- Documentação em inglês/português, workflows de CI/release e `scripts/check.sh`.
|
|
- Testes determinísticos de fumaça e checagem de tradução bilíngue da UI.
|
|
|
|
## Próximo
|
|
|
|
1. **Pilar 1 — beaconing.** Implementar o periodograma de Rayleigh/Schuster sobre
|
|
timestamps de eventos, resistência a harmônicos e validação com fixtures determinísticas.
|
|
2. **Pilar 2 — sessões persistentes.** Detectar conexões longas que nunca
|
|
produzem intervalos curtos, com limiares explícitos sem sobreposição ao pilar 1.
|
|
3. **Parser Zeek real.** Ler `conn.log`, `dns.log`, `ssl.log` e logs de protocolo
|
|
com memória delimitada, confinamento de caminhos e ordem determinística.
|
|
4. **Registro de evidência.** Emitir registro JSON por alerta contendo entradas,
|
|
valores intermediários, versão do código e hash do dataset.
|
|
|
|
## Depois
|
|
|
|
- Pilar 3 — anomalias determinísticas de protocolo, incluindo identidade e
|
|
movimentação lateral.
|
|
- Pilar 4 — fusão limitada e simétrica com pesos reproduzíveis.
|
|
- Otimizações no store analítico, particionamento diário Parquet e limpeza por TTL.
|
|
- Ingestão agendada e tratamento automático de rotação de logs em modo daemon.
|
|
- NetFlow/IPFIX como modo degradado documentado e Suricata EVE JSON como entrada secundária.
|
|
- Metadados assinados de release, SBOM e builds reproduzíveis.
|
|
|
|
## Fora de plano
|
|
|
|
- Pontuação por IA opaca que não consiga explicar um alerta.
|
|
- Serviço em nuvem obrigatório ou pipeline de telemetria.
|
|
- Python no runtime distribuído.
|
|
- Tratar registros de fluxo como equivalentes a logs Zeek completos.
|
|
- Shell desktop nativo ou auto-modificação de binário.
|