Voltar às atualizações
New releaseJul 28, 2026

oversight v0.5.8

Um auditor de segurança leve e sandbox para scripts de shell. O Oversight combina um mecanismo de Análise Estática (Rust) com Execução Dinâmica (Linux Landlock) para manter seu sistema seguro contra scripts maliciosos.

Compartilhar

Oversight (v0.5.8)

GitHub stars Discord License Rust

O Oversight é uma ferramenta de inteligência de segurança baseada em terminal, projetada para auditar scripts e comandos shell antes que eles entrem em contato com o seu sistema. Ela preenche a lacuna entre "confiança cega" e "auditoria manual", fornecendo uma análise interativa de alta velocidade tanto de arquivos locais quanto de scripts remotos via URLs Raw.

Oversight

Demonstração do Oversight

Atualização AUR ao Vivo

Atualização AUR ao Vivo do Oversight

Captura de Tela 1

Interface TUI do Oversight em Ação

Captura de Tela 2

Interface TUI do Oversight em Ação

A Missão

A maioria dos comprometimentos de sistemas acontece por um salto de fé, como executar uma atualização de pacote não verificada ou rodar scripts de configuração crus. O Oversight oferece uma visão clara desses buffers, sinalizando padrões maliciosos e explicando os riscos de segurança em linguagem simples, para que você possa tomar uma decisão informada antes de confirmar instalações.

Recursos

  • Layout de Abas Multi-Stream Dinâmico: Analisa automaticamente os cabeçalhos unificados de streams git em tempo real. Quando uma atualização em lote chega, ele isola o stream de patch combinado e gera abas dedicadas e legíveis para cada pacote, importando e auditando os scripts .install e arquivos .patch associados do diretório de build local.
  • Mecanismo de Entropia Heurística: Implementação de cálculos de entropia de Shannon para identificar payloads ofuscados, dados compactados e strings ocultas que scanners regex tradicionais não detectam.
  • Rastreamento de Ciclo de Vida Malicioso: Análise comportamental avançada que relaciona eventos associados em um script, como a cadeia Buscar (Fetch) -> Alteração de Permissões -> Execução, típica de instaladores trojan.
  • Barra Lateral de Mapa de Calor de Segurança: Uma trilha vertical que fornece uma visão geral visual em tempo real da distribuição de ameaças no arquivo ativo, garantindo que os indicadores de coordenadas sejam dimensionados com precisão para cada buffer de aba distinto.
  • Detecção Anti-Forense e de Persistência: Monitoramento de comportamentos furtivos, incluindo auto-exclusão (rm $0), pipelines silenciosos (> /dev/null), caminhos de execução somente em RAM (/dev/shm) e hooks de recarga (crontab, systemctl).
  • Pontuação de Risco Ponderada: Implementa um índice de segurança de 0 a 100 que categoriza os streams como Limpo (Clean), Cautela (Caution) ou Perigoso (Dangerous), com base em métricas macro planas que evitam a inflação da pontuação de risco.
  • Alternância de Mitigação Global: Permite que os usuários suprimam instantaneamente as descobertas ativas via TUI usando um único interruptor. Isso higieniza visualmente a exibição ao comentar os blocos sinalizados e recalcula o índice global de pontuação de risco em tempo real.
  • Modo Pager de Stream Limpo: Remove blocos vazios do viewport. Quando um stream passa pela análise sem nenhuma flag, o layout completo do terminal permanece aberto como um pager funcional, permitindo uma revisão manual padrão de código, linha por linha.
  • Mecanismo de Regras Dinâmico: Os padrões são externalizados em um módulo de regras independente, permitindo atualizações modulares em diferentes assinaturas de padrões sem quebrar o loop de análise do TUI.
  • Mecanismo de Busca Remota: Audite scripts diretamente do GitHub, Gist ou URLs raw com segurança, por meio de análise somente em memória.
  • Auditoria Educacional: Cada flag de segurança inclui uma explicação detalhada e referências externas para ajudar os usuários a aprender a identificar padrões de script maliciosos.
  • Inteligência de Vulnerabilidades: Varredura integrada em tempo real para CVEs conhecidas usando a API OSV.dev, acionada automaticamente quando comandos suportados de instalação de pacotes são detectados.

Dependências

O Oversight é construído em Rust para desempenho e isolamento do binário. Os seguintes componentes nativos são necessários para a compilação:

  • Toolchain Rust: cargo e rustc (Edição 2021) para compilar o mecanismo nativo.
  • OpenSSL: Biblioteca do sistema exigida pelo reqwest para estabelecer operações seguras de busca remota via TLS/SSL.
  • Crates Principais: ratatui, crossterm, tokio, reqwest, clap e regex.

Instalação e Configuração

  1. Via AUR (Recomendado para Arch Linux) A versão estável é mantida no AUR. Instale-a usando seu helper preferido:

yay -S oversight-git

  1. Ou compile manualmente:
git clone [https://aur.archlinux.org/oversight-git.git](https://aur.archlinux.org/oversight-git.git)
cd oversight-git
makepkg -si
  1. A partir do código-fonte:

git clone https://github.com/Rakosn1cek/oversight.git cd oversight

  1. Execute o Instalador Automatizado: O instalador cuida da compilação, move o binário para ~/.local/bin e injeta os hooks necessários na configuração do seu shell (.zshrc, .bashrc ou config.fish).
chmod +x install.sh
./install.sh
  1. Recarregue seu shell:

source ~/.zshrc ou a configuração do seu respectivo shell


Arquivos e Locais

  • Binário: ~/.local/bin/oversight
  • Banco de Regras: ~/.local/share/oversight/rules.json (Respeita $XDG_DATA_HOME)
  • Hooks do Shell: ~/.local/share/oversight/oversight.[zsh|bash|fish]

Uso

  • Audite um script local: oversight ./install.sh
  • Audite uma URL remota: oversight https://raw.githubusercontent.com/...
  • Audite um arquivo de configuração local: oversight ~/.local/share/oversight/rules.json
  • Proteção ao Vivo: Intercepta automaticamente comandos autônomos como curl https://... ou padrões arriscados como rm -rf / para oferecer um menu de triagem com múltiplas opções, e inspeciona profundamente os perfis de cache do AUR antes da execução.

Integração com a Configuração do Shell

Para implantar permanentemente o Oversight como seu pager principal de texto e atualizações, acrescente uma das regras de configuração ao arquivo de perfil do seu shell (ex.: ~/.zshrc, ~/.bashrc ou ~/.config/fish/config.fish):

Opção A: Integração Dedicada com Helper do AUR (Direcionada)

Força seu helper a usar o Oversight especificamente para atualizações de pacotes, sem afetar outros comandos do sistema:

Para yay (~/.zshrc ou ~/.bashrc): alias yay="yay --diffpager oversight"

Para paru (~/.config/paru/paru.conf): Adicione estas linhas ao seu ~/.config/paru/paru.conf. Você deve incluir a opção CombinedUpgrade, caso contrário o paru removerá os códigos de cor ANSI antes de passar o texto para o Oversight, deixando você com texto preto e branco:

[options]
Pager = oversight
CombinedUpgrade

Para outros helpers como Shelly Se você estiver usando um helper diferente, precisará informar ao Oversight onde encontrar os arquivos de cache usando a variável AUDIT_HELPER. Por exemplo, você pode executá-lo assim:

AUDIT_HELPER=shelly shelly -Sua | oversight

Categorias