
oversight v0.5.8
Un leggero auditor di sicurezza e sandbox per script di shell. Oversight combina un motore di Analisi Statica (Rust) con l'Applicazione Dinamica (Linux Landlock) per mantenere il tuo sistema al sicuro da script dannosi.
Oversight (v0.5.8)
Oversight è uno strumento di intelligence per la sicurezza basato su terminale, progettato per eseguire audit di script shell e comandi prima che tocchino il tuo sistema. Colma il divario tra "fiducia cieca" e "audit manuale" fornendo un'analisi interattiva ad alta velocità sia di file locali che di script remoti tramite URL Raw.
Oversight

Aggiornamento AUR in tempo reale

Screenshot 1

Screenshot 2

La Missione
La maggior parte delle compromissioni di sistema avviene per un atto di fede, come eseguire un aggiornamento di pacchetti non verificati o eseguire script di configurazione raw. Oversight ti offre una visione chiara di questi buffer, segnalando pattern malevoli e spiegando i rischi per la sicurezza in un linguaggio semplice, così da poter prendere una decisione informata prima di confermare le installazioni.
Caratteristiche
- Layout a schede multi-stream dinamico: Analizza automaticamente al volo gli header unificati dei flussi git. Quando arriva un aggiornamento batch, isola il flusso di patch combinato e genera schede dedicate e leggibili per ogni pacchetto, recuperando ed esaminando gli script
.installe i file.patchassociati dalla directory di build locale. - Motore entropico euristico: Implementazione del calcolo dell'entropia di Shannon per identificare payload offuscati, dati impacchettati e stringhe nascoste che i tradizionali scanner basati su regex non riescono a rilevare.
- Tracciamento del ciclo di vita malevolo: Analisi comportamentale avanzata che collega eventi correlati all'interno di uno script, come la catena Fetch -> Cambio Permessi -> Esecuzione tipica degli installer trojan.
- Barra laterale della mappa termica di sicurezza: Una traccia verticale che fornisce una panoramica visiva in tempo reale della distribuzione delle minacce nel file attivo, garantendo che gli indicatori di coordinate esatte siano scalati accuratamente per ogni buffer di scheda distinto.
- Rilevamento anti-forense e di persistenza: Monitoraggio di comportamenti furtivi come l'auto-eliminazione (
rm $0), pipeline silenziose (> /dev/null), percorsi di esecuzione solo in RAM (/dev/shm) e hook di ricarica (crontab,systemctl). - Punteggio di rischio pesato: Implementa un indice di sicurezza da 0 a 100 che categorizza i flussi come Pulito, Attenzione o Pericoloso basandosi su metriche macro piatte che evitano il gonfiamento del punteggio di rischio.
- Toggle globale di mitigazione: Consente agli utenti di sopprimere istantaneamente i risultati attivi tramite la TUI con un singolo interruttore. Questo igienizza visivamente la vista commentando i blocchi segnalati e ricalcola l'indice del punteggio di rischio globale in tempo reale.
- Modalità pager di flusso pulito: Rimuove i blocchi di viewport vuoti. Quando un flusso supera l'analisi senza alcuna segnalazione, il layout completo del terminale rimane aperto come un pager funzionale, consentendo una normale revisione manuale del codice riga per riga.
- Motore di regole dinamico: I pattern sono esternalizzati in un modulo di regole indipendente, consentendo aggiornamenti modulari delle diverse firme di pattern senza rompere il ciclo di parsing della TUI.
- Motore di recupero remoto: Esegui audit di script direttamente da GitHub, Gist o URL raw in modo sicuro tramite analisi solo in memoria.
- Audit educativo: Ogni segnalazione di sicurezza include una spiegazione dettagliata e riferimenti esterni per aiutare gli utenti a imparare a identificare pattern di scripting malevoli.
- Intelligence sulle vulnerabilità: Scansione in tempo reale integrata per CVE note utilizzando l'API OSV.dev, attivata automaticamente quando vengono rilevati comandi di installazione di pacchetti supportati.
Dipendenze
Oversight è scritto in Rust per prestazioni e isolamento binario. I seguenti componenti nativi sono necessari per la compilazione:
- Toolchain Rust:
cargoerustc(Edizione 2021) per compilare il motore nativo. - OpenSSL: Libreria di sistema richiesta da
reqwestper stabilire operazioni di recupero TLS/SSL remote sicure. - Crate principali:
ratatui,crossterm,tokio,reqwest,claperegex.
Installazione e Configurazione
- Tramite AUR (Consigliato per Arch Linux) La versione stabile è mantenuta su AUR. Installala usando il tuo helper preferito:
yay -S oversight-git
- Oppure compila manualmente:
git clone [https://aur.archlinux.org/oversight-git.git](https://aur.archlinux.org/oversight-git.git)
cd oversight-git
makepkg -si
- Dal sorgente:
git clone https://github.com/Rakosn1cek/oversight.git
cd oversight
- Esegui l'installatore automatico:
L'installatore gestisce la compilazione, sposta il binario in
~/.local/bine inietta gli hook necessari nella tua configurazione della shell (.zshrc, .bashrc o config.fish).
chmod +x install.sh
./install.sh
- Ricarica la tua shell:
source ~/.zshrc o il rispettivo file di configurazione della shell
File e Percorsi
- Binario: ~/.local/bin/oversight
- Database delle Regole: ~/.local/share/oversight/rules.json (Rispetta $XDG_DATA_HOME)
- Hook della Shell: ~/.local/share/oversight/oversight.[zsh|bash|fish]
Utilizzo
- Esegui audit di uno script locale:
oversight ./install.sh - Esegui audit di un URL remoto:
oversight https://raw.githubusercontent.com/... - Esegui audit di un file di configurazione locale:
oversight ~/.local/share/oversight/rules.json - Protezione in tempo reale: Intercetta automaticamente comandi indipendenti come
curl https://...o pattern rischiosi comerm -rf /per offrire un menu di triage con più opzioni, e ispeziona a fondo i profili della cache AUR downstream prima dell'esecuzione.
Integrazione con la Configurazione della Shell
Per distribuire permanentemente Oversight come pager principale per test e aggiornamenti, aggiungi una delle seguenti regole di configurazione al tuo profilo shell (ad es. ~/.zshrc, ~/.bashrc o ~/.config/fish/config.fish):
Opzione A: Integrazione Dedicata con Helper AUR (Mirata)
Forza il tuo helper a usare Oversight specificamente per gli aggiornamenti dei pacchetti senza influenzare altri comandi di sistema:
Per yay (~/.zshrc o ~/.bashrc):
alias yay="yay --diffpager oversight"
Per paru (~/.config/paru/paru.conf): Aggiungi queste righe al tuo ~/.config/paru/paru.conf. Devi includere l'opzione CombinedUpgrade, altrimenti paru rimuoverà i codici colore ANSI prima di passare il testo a Oversight, lasciandoti con testo in bianco e nero:
[options]
Pager = oversight
CombinedUpgrade
Per altri helper come Shelly Se stai usando un helper diverso, devi dire a Oversight dove trovare i file della cache usando la variabile AUDIT_HELPER. Ad esempio, puoi eseguirlo in questo modo: