SentrySentry

Visão Geral

O que é o Sentry, objetivos e não-objetivos

Visão Geral

O Sentry é um observador de acessos em tempo real para serviços expostos à internet. Começa monitorando o nginx (via access logs), mas é desenhado para escalar para qualquer porta/protocolo (HTTP, TCP, proxies reversos, packet capture, syslog). Usa IA + heurísticas para detectar payloads maliciosos, comportamento suspeito, rotas inválidas e calcula um nível de risco por requisição/IP. Integra-se com Cloudflare para challenge/block em camada de edge.

Objetivos

  • Modularidade total: cada origem de dados (nginx, tcp, http-proxy) é um plugin por trás de um trait comum.
  • Tempo real: stream de eventos, não batch.
  • Precisão: combinar regras determinísticas (rápidas, zero falso-positivo conhecido) com IA (para o desconhecido).
  • Ação: não apenas detectar — bloquear, desafiar, rate-limitar.
  • Multi-plataforma: um único binário em Rust.
  • Operável: CLI rica para tail ao vivo, relatórios, export, gestão de blocklist.

Não-objetivos (fase atual)

  • Dashboard web (fase futura, via Tauri ou backend HTTP separado).
  • Substituir um WAF comercial — é complementar.
  • Deep packet inspection de protocolos não-HTTP na fase 1.

Por que existe

WAFs comerciais cobrem o óbvio. O Sentry cobre o resto: payloads encodados, scanning de paths sensíveis, crawlers maliciosos, padrões de acesso anômalos — combinando regras rápidas (zero falso-positivo conhecido) com IA para o desconhecido. Tudo em um único binário Rust, rodando localmente, sem enviar seus logs para terceiros.

Stack técnica

CamadaTecnologia
Async runtimetokio
CLIclap (derive) + ratatui (TUI) + crossterm
StoragePostgres (sqlx, migrations sqlx)
Configfigment (TOML + env overlay, prefixo SENTRY_)
HTTP clientreqwest (native-tls no Windows / rustls em containers)
IAort (ONNX, local) + trait LlmProvider
Edge actionstrait ChallengeProvider (Cloudflare, …)
Geo/ASNmaxminddb (GeoLite2 local)
Errosthiserror (lib) + color-eyre (bin)
Testesproptest + insta (snapshots) + wiremock

Status

  • F0 (concluída): fundação — workspace, core, traits, config, CLI skeleton.
  • F1 (concluída): MVP nginx — source, heurísticas, scorer, pipeline, TUI.
  • F2: Cloudflare + IA local (ONNX).
  • F3: Multi-source (TCP, syslog) + LLM (OpenRouter).
  • F4: Dashboard web.

On this page