chore: initial project skeleton

Acauã: Network Detection & Threat Hunting, heuristic analysis over a
rolling 7-day window using deterministic math (time series, graph
theory, information theory) instead of opaque ML models. Third
product in the Ciberfauna ecosystem, alongside Guará and Sabiá.

Follows the ecosystem's established conventions: OpenWolf project
memory, bilingual PT-BR/EN docs and UI, Gitea Actions CI/CD on the
same self-hosted runners, Conventional Commits, SemVer, logo and
productName handling, MIT OR Apache-2.0 licensing.

Architecture decision (made with the project owner after a dedicated
consultation, not the original blueprint's suggested stack): Rust
throughout, not Python/FastAPI/React. Most of the statistics (Bowley
skew, MADM, Shannon entropy, PCR, Z-score, novel-edge detection,
pivot chains) reduces to SQL over an embedded DuckDB/Parquet store;
only the spectral analysis and graph centrality need host-language
code, and both have workable Rust crates. Documented in full, including
six corrections to the original blueprint's math (Rayleigh/Schuster
instead of a degenerate Lomb-Scargle over bare timestamps, an explicit
sentinel for Bowley skew's Q3=Q1 case, Jensen-Shannon instead of
unbounded KL, a dedicated long-connection detector, JA4 vs. JA4+
licensing caution, deterministic per-alert evidence), in
docs/architecture.md.

Skeleton only: crates/acaua-core has the four detection pillars,
fusion, storage, zeek log parsing and the updater as typed stubs that
compile and return a clear "skeleton" status rather than real
detection logic — that is separate, future work. crates/acaua-cli has
serve/analyze/doctor/update. apps/gui is a minimal Tauri shell. Also
already includes the one-click desktop self-update mechanism shared
with Guará and Sabiá (AppImage/.deb/Windows installer), even with no
release published yet, for consistency across the ecosystem.

No Gitea repository exists for this project yet; this is a local-only
commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VAyr8d7HuAdUGB6aA5xmDD
This commit is contained in:
Lucas RayanandClaude Sonnet 5 committed 2026-10-31 10:20:03 -03:00
commit 1b974bb90d
95 files changed
+12016

No files matched your search

+66
View File
@@ -0,0 +1,66 @@
export const EN = {
'Acauã': 'Acauã',
'caça a ameaças em rede': 'network threat hunting',
'Navegação': 'Navigation',
'Visão geral': 'Overview',
'painel e estado': 'dashboard and status',
'Alertas': 'Alerts',
'evidências recentes': 'recent evidence',
'Análise': 'Analysis',
'dataset Zeek': 'Zeek dataset',
'Configurações': 'Settings',
'idioma e tema': 'language and theme',
'Conectando…': 'Connecting…',
'esqueleto': 'skeleton',
'checar atualização': 'check for updates',
'Caça a ameaças em rede': 'Network threat hunting',
'Pesquisa determinística, sem IA opaca': 'Deterministic research, no opaque AI',
'Aviso de escopo.': 'Scope notice.',
'Este é um esqueleto pré-implementação. Os quatro pilares matemáticos, o parser Zeek e o armazenamento DuckDB ainda não estão implementados.': 'This is a pre-implementation skeleton. The four mathematical pillars, the Zeek parser and the DuckDB storage are not implemented yet.',
'Uso autorizado.': 'Authorized use.',
'Use somente em redes próprias ou com autorização explícita. Nenhum pacote é enviado para fora.': 'Use only on your own networks or with explicit authorization. No packet leaves the machine.',
'Pilares de detecção': 'Detection pillars',
'Pilar {n}': 'Pillar {n}',
'Pilar 1': 'Pillar 1',
'Periodograma de Rayleigh/Schuster. Em desenvolvimento.': 'Rayleigh/Schuster periodogram. Under development.',
'em desenvolvimento': 'under development',
'Pilar 2': 'Pillar 2',
'Sessões persistentes': 'Persistent sessions',
'Detector de conexões longas. Em desenvolvimento.': 'Long-connection detector. Under development.',
'Pilar 3': 'Pillar 3',
'Anomalias de protocolo': 'Protocol anomalies',
'Features determinísticas por protocolo. Em desenvolvimento.': 'Deterministic per-protocol features. Under development.',
'Pilar 4': 'Pillar 4',
'Fusão de evidências': 'Evidence fusion',
'Jensen-Shannon e prova por alerta. Em desenvolvimento.': 'Jensen-Shannon and per-alert proof. Under development.',
'Analisar dataset': 'Analyze dataset',
'Aponte para um diretório de logs Zeek ou para um dataset local.': 'Point to a Zeek log directory or a local dataset.',
'Diretório de logs': 'Log directory',
'Analisar': 'Analyze',
'Atualizar status': 'Refresh status',
'Nenhuma análise executada.': 'No analysis has run yet.',
'Alertas recentes': 'Recent alerts',
'Cada alerta futuro carregará a evidência determinística que o sustenta.': 'Every future alert will carry the deterministic evidence behind it.',
'Nenhum alerta ainda. O motor de detecção será ligado nas próximas specs.': 'No alerts yet. The detection engine will be enabled in upcoming specs.',
'Acauã · esqueleto pré-implementação': 'Acauã · pre-implementation skeleton',
'Fechar configurações': 'Close settings',
'Fechar': 'Close',
'Idioma': 'Language',
'Tema': 'Theme',
'Claro': 'Light',
'Escuro': 'Dark',
'Navegação principal': 'Main navigation',
'Serviço local ativo': 'Local service online',
'Serviço indisponível': 'Service unavailable',
'Nenhum dataset selecionado.': 'No dataset selected.',
'Analisando…': 'Analyzing…',
'Análise concluída: {n} registros e {n} alertas.': 'Analysis complete: {n} records and {n} alerts.',
'Falha na análise: {n}': 'Analysis failed: {n}',
'Verificando atualização…': 'Checking for updates…',
'Versão {n} é a mais recente.': 'Version {n} is the latest.',
'Atualização {n} disponível.': 'Update {n} available.',
'Não foi possível verificar a atualização: {n}': 'Could not check for updates: {n}',
'Nenhum alerta ainda.': 'No alerts yet.',
'Alertas carregados: {n}': 'Alerts loaded: {n}',
'versão {n}': 'version {n}',
};