
oversight v0.5.8
Un auditor de seguridad y sandbox ligero para scripts de shell. Oversight combina un motor de Análisis Estático (Rust) con Aplicación Dinámica (Linux Landlock) para mantener tu sistema a salvo de scripts maliciosos.
Oversight (v0.5.8)
Oversight es una herramienta de inteligencia de seguridad basada en terminal diseñada para auditar scripts de shell y comandos antes de que toquen tu sistema. Cubre la brecha entre la "confianza ciega" y la "auditoría manual" al proporcionar un análisis interactivo de alta velocidad tanto de archivos locales como de scripts remotos a través de URLs raw.
Oversight

Actualización AUR en Vivo

Captura de pantalla 1

Captura de pantalla 2

La Misión
La mayoría de los compromisos del sistema ocurren por un acto de fe, como ejecutar una actualización de paquete sin verificar o correr scripts de configuración en bruto. Oversight te brinda una visión clara de estos búferes, señalando patrones maliciosos y explicando los riesgos de seguridad en lenguaje sencillo para que puedas tomar una decisión informada antes de confirmar instalaciones.
Características
- Diseño de pestañas dinámico multi-flujo: Analiza automáticamente los encabezados unificados de flujos git sobre la marcha. Cuando llega una actualización por lotes, aísla el flujo de parches combinado y genera pestañas dedicadas y legibles para cada paquete, incorporando y auditando los scripts
.instally archivos.patchadjuntos desde el directorio de compilación local. - Motor de entropía heurística: Implementación de cálculos de entropía de Shannon para identificar cargas útiles ofuscadas, datos empaquetados y cadenas ocultas que los escáneres regex tradicionales pasan por alto.
- Seguimiento de ciclo de vida malicioso: Análisis de comportamiento avanzado que vincula eventos relacionados a lo largo de un script, como la cadena Descarga -> Cambio de permisos -> Ejecución típica de instaladores troyanos.
- Barra lateral de mapa de calor de seguridad: Una pista vertical que proporciona una vista visual en tiempo real de la distribución de amenazas en el archivo activo, asegurando que los indicadores de coordenadas exactas se escalen con precisión para cada búfer de pestaña distinto.
- Detección de persistencia y anti-forense: Monitoreo de comportamientos sigilosos, incluyendo autoeliminación (
rm $0), tuberías silenciosas (> /dev/null), rutas de ejecución solo en RAM (/dev/shm) y ganchos de recarga (crontab,systemctl). - Puntuación de riesgo ponderada: Implementa un índice de seguridad de 0 a 100 que clasifica los flujos como Limpio, Precaución o Peligroso basándose en métricas macro planas que evitan la inflación de la puntuación de riesgo.
- Conmutador global de mitigación: Permite a los usuarios suprimir al instante los hallazgos activos a través de la TUI con un solo interruptor. Esto sanea visualmente la vista al comentar los bloques marcados y recalcula el índice de puntuación de riesgo global en tiempo real.
- Modo paginador de flujo limpio: Elimina los bloques vacíos del viewport. Cuando un flujo pasa el análisis sin ninguna marca, el diseño completo del terminal permanece abierto como un paginador funcional, permitiendo una revisión manual estándar línea por línea del código.
- Motor dinámico de reglas: Los patrones se externalizan en un módulo de reglas independiente, lo que permite actualizaciones modulares en diferentes firmas de patrones sin romper el bucle de análisis de la TUI.
- Motor de descarga remota: Audita scripts directamente desde GitHub, Gist o URLs raw de forma segura mediante análisis solo en memoria.
- Auditoría educativa: Cada marca de seguridad incluye una explicación detallada y referencias externas para ayudar a los usuarios a aprender a identificar patrones de scripts maliciosos.
- Inteligencia de vulnerabilidades: Escaneo integrado en tiempo real de CVEs conocidos mediante la API de OSV.dev, que se activa automáticamente cuando se detectan comandos de instalación de paquetes compatibles.
Dependencias
Oversight está construido en Rust para rendimiento y aislamiento binario. Se requieren los siguientes componentes nativos para la compilación:
- Cadena de herramientas de Rust:
cargoyrustc(Edición 2021) para compilar el motor nativo. - OpenSSL: Biblioteca del sistema requerida por
reqwestpara establecer operaciones seguras de descarga remota TLS/SSL. - Crates principales:
ratatui,crossterm,tokio,reqwest,clapyregex.
Instalación y Configuración
- Vía AUR (Recomendado para Arch Linux) La versión estable se mantiene en el AUR. Instálalo usando tu helper preferido:
yay -S oversight-git
- O compilar manualmente:
git clone [https://aur.archlinux.org/oversight-git.git](https://aur.archlinux.org/oversight-git.git)
cd oversight-git
makepkg -si
- Desde el código fuente:
git clone https://github.com/Rakosn1cek/oversight.git
cd oversight
- Ejecuta el instalador automatizado:
El instalador se encarga de la compilación, mueve el binario a
~/.local/bine inyecta los ganchos necesarios en tu configuración de shell (.zshrc, .bashrc o config.fish).
chmod +x install.sh
./install.sh
- Recarga tu shell:
source ~/.zshrc o la configuración de tu shell respectiva
Archivos y Ubicaciones
- Binario: ~/.local/bin/oversight
- Base de datos de reglas: ~/.local/share/oversight/rules.json (Respeta $XDG_DATA_HOME)
- Ganchos de shell: ~/.local/share/oversight/oversight.[zsh|bash|fish]
Uso
- Auditar un script local:
oversight ./install.sh - Auditar una URL remota:
oversight https://raw.githubusercontent.com/... - Auditar un archivo de configuración local:
oversight ~/.local/share/oversight/rules.json - Protección en vivo: Intercepta comandos independientes como
curl https://...o patrones de riesgo comorm -rf /automáticamente para ofrecer un menú de triaje con múltiples opciones, e inspecciona en profundidad los perfiles de caché AUR posteriores antes de la ejecución.
Integración con la Configuración del Shell
Para implementar Oversight de forma permanente como tu paginador principal de texto y actualizaciones, añade cualquiera de las reglas de configuración a tu archivo de perfil de shell (por ejemplo, ~/.zshrc, ~/.bashrc o ~/.config/fish/config.fish):
Opción A: Integración dedicada con helper de AUR (Específica)
Fuerza a tu helper a usar Oversight específicamente para actualizaciones de paquetes sin afectar otros comandos del sistema:
Para yay (~/.zshrc o ~/.bashrc):
alias yay="yay --diffpager oversight"
Para paru (~/.config/paru/paru.conf): Añade estas líneas a tu ~/.config/paru/paru.conf. Debes incluir la opción CombinedUpgrade, de lo contrario paru eliminará los códigos de color ANSI antes de pasar el texto a Oversight, dejándote con texto en blanco y negro:
[options]
Pager = oversight
CombinedUpgrade