Torna agli aggiornamenti
New releaseJul 28, 2026

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.

Condividi

Oversight (v0.5.8)

GitHub stars Discord License Rust

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

Oversight Demo

Aggiornamento AUR in tempo reale

Aggiornamento AUR in tempo reale di Oversight

Screenshot 1

Interfaccia TUI di Oversight in azione

Screenshot 2

Interfaccia TUI di Oversight in azione

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 .install e i file .patch associati 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: cargo e rustc (Edizione 2021) per compilare il motore nativo.
  • OpenSSL: Libreria di sistema richiesta da reqwest per stabilire operazioni di recupero TLS/SSL remote sicure.
  • Crate principali: ratatui, crossterm, tokio, reqwest, clap e regex.

Installazione e Configurazione

  1. Tramite AUR (Consigliato per Arch Linux) La versione stabile è mantenuta su AUR. Installala usando il tuo helper preferito:

yay -S oversight-git

  1. Oppure compila manualmente:
git clone [https://aur.archlinux.org/oversight-git.git](https://aur.archlinux.org/oversight-git.git)
cd oversight-git
makepkg -si
  1. Dal sorgente:

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

  1. Esegui l'installatore automatico: L'installatore gestisce la compilazione, sposta il binario in ~/.local/bin e inietta gli hook necessari nella tua configurazione della shell (.zshrc, .bashrc o config.fish).
chmod +x install.sh
./install.sh
  1. 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 come rm -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:

AUDIT_HELPER=shelly shelly -Sua | oversight

In alternativa, puoi esportare la variabile dell'helper a livello globale nel tuo profilo shell in modo che Oversight sappia sempre quale percorso della cache controllare:

export AUDIT_HELPER="shelly"

Opzione B: Ambiente Pager di Sistema Globale (Universale)

Questa configurazione registra Oversight come pager di testo di sistema predefinito. Ciò significa che pacchetti, pagine man e flussi git si apriranno automaticamente all'interno dell'interfaccia.

Aggiungi queste righe al tuo ~/.zshrc o ~/.bashrc:

export PAGER="oversight"
export MANPAGER="oversight"

La seconda riga è necessaria se la tua configurazione di sistema imposta già MANPAGER su less o un altro strumento.


Riferimento agli Effetti Collaterali del Pager Globale

  • Quando distribuisci Oversight a livello globale esportandolo come visualizzatore di testo di sistema primario, il motore intercetta tutti i flussi di dati che passano attraverso i meccanismi di paging del terminale.
  • Sebbene il sistema gestisca questi input in modo sicuro, noterai comportamenti specifici durante le tue operazioni quotidiane sul terminale.
  • Eseguire un aggiornamento completo del sistema processa i mirror dei repository ufficiali prima di raggiungere la coda AUR. Poiché i binari ufficiali mancano di percorsi strutturali Git o script della cache, Oversight torna automaticamente a un buffer di testo piatto. L'interfaccia visualizza una singola riga di risultato di Static Analysis Passed e mappa i tasti freccia per scorrere verticalmente l'elenco delle transazioni di testo riga per riga come un pager di testo standard.
  • Rivedere riferimenti a comandi come man pacman reindirizza i manuali di istruzioni direttamente attraverso il motore. Il testo viene analizzato come un flusso pulito, consentendoti di usare i tasti rapidi standard del viewport per esaminare la documentazione all'interno del frame TUI unificato.
  • Comandi principali come git log o git diff all'interno dei tuoi repository locali passano attraverso il database delle regole statiche. Se un commit contiene un pattern di firma corrispondente, attiva gli avvisi del motore; altrimenti, presenta revisioni di codice standard nel pannello principale in modo pulito.
  • La logica di parsing interna si basa su hook di intestazione unificati rigorosi per allocare più schede di pacchetti. Se un flusso in arrivo non contiene questi specifici token della cache, come normali pagine man o mirror di repository, il layout a più schede viene completamente bypassato per prevenire la frammentazione dello spazio di lavoro del terminale.

Tasti rapidi:

  • Tasti Freccia Su/Giù: Naviga tra gli elementi dei risultati nel pannello sinistro in qualsiasi momento, assicurando che la selezione dell'elenco non rimanga mai bloccata.
  • Tasti PagSu/PagGiù: Scorri dolcemente il viewport centrale del codice riga per riga indipendentemente dalla selezione dell'elenco.
  • Tasto Tab: Sposta il focus in avanti attraverso i segmenti attivi del flusso di codice, saltando dal flusso di patch combinato direttamente alle singole schede di origine PKGBUILD.
  • Tasti numerici (0-9): Salta istantaneamente a un indice di scheda specifico.
  • Tasto Freccia Sinistra: Reimposta istantaneamente gli offset delle coordinate di scorrimento verticale del viewport all'inizio.
  • Tasto [S]: Attiva/Disattiva la soppressione globale per commentare istantaneamente i blocchi di codice segnalati nell'intero blocco di selezione attivo e ribilanciare i parametri di rischio in un unico passaggio.
  • [Q] o Esc: Chiudi l'interfaccia in modo sicuro e passa il controllo dell'esecuzione alla pipeline del processo terminale.

Nota: Oversight è uno strumento di consulenza. Sebbene utilizzi una robusta corrispondenza di pattern regex, nessuno strumento di sicurezza è infallibile al 100%. Usa sempre la "Sentenza Finale" come guida e rivedi manualmente il codice evidenziato se non sei sicuro di una fonte.

Nota2: Oversight è ancora in fase di sviluppo attivo; pertanto, non viene fornita alcuna garanzia riguardo alla sua funzionalità o all'impatto sul sistema in questa fase.

Supporto e Contributi

Se desideri supportare o contribuire al progetto, sei il benvenuto.

Se desideri discutere o porre domande su Oversight, unisciti al mio server Discord Rakosn1cek <- Opzionale, non un requisito.

Puoi anche aprire una Issue o lasciare un messaggio nelle Discussioni.

Licenza

MIT © 2026 Rakosn1cek. È richiesta l'attribuzione per qualsiasi redistribuzione o opera derivata.

Categorie