Назад к обновлениям
New releaseJul 28, 2026

oversight v0.5.8

Лёгкий аудитор безопасности и песочница для shell-скриптов. Oversight сочетает движок статического анализа (Rust) с динамическим принуждением (Linux Landlock), чтобы защитить вашу систему от вредоносных скриптов.

Поделиться

Oversight (v0.5.8)

GitHub stars Discord License Rust

Oversight — это терминальный инструмент киберразведки, предназначенный для аудита shell-скриптов и команд до того, как они коснутся вашей системы. Он устраняет разрыв между «слепым доверием» и «ручным аудитом», обеспечивая высокоскоростной интерактивный анализ как локальных файлов, так и удалённых скриптов через Raw URL.

Oversight

Демонстрация Oversight

Живое обновление AUR

Живое обновление AUR в Oversight

Скриншот 1

Интерфейс TUI Oversight в действии

Скриншот 2

Интерфейс TUI Oversight в действии

Миссия

Большинство взломов систем происходит из-за «прыжка веры» — например, выполнения непроверенного обновления пакетов или запуска необработанных установочных скриптов. Oversight даёт вам чёткое представление об этих потоках, помечая вредоносные паттерны и объясняя риски безопасности простым языком, чтобы вы могли принять взвешенное решение перед подтверждением установок.

Возможности

  • Динамическая многостраничная раскладка вкладок: Автоматически анализирует объединённые заголовки git-потоков на лету. Когда приходит пакетное обновление, инструмент изолирует комбинированный поток патчей и создаёт отдельные читаемые вкладки для каждого пакета, подтягивая и проверяя сопутствующие .install-скрипты и .patch-файлы из локального каталога сборки.
  • Эвристический энтропийный движок: Реализация вычислений энтропии Шеннона для выявления обфусцированных полезных нагрузок, упакованных данных и скрытых строк, которые пропускают традиционные regex-сканеры.
  • Отслеживание вредоносного жизненного цикла: Расширенный поведенческий анализ, связывающий связанные события внутри скрипта, например цепочку «Загрузка -> Изменение прав -> Выполнение», типичную для троянских установщиков.
  • Боковая панель тепловой карты безопасности: Вертикальная дорожка, обеспечивающая наглядный обзор распределения угроз по активному файлу в реальном времени и гарантирующая точное масштабирование координатных индикаторов для каждого отдельного буфера вкладки.
  • Обнаружение анти-форензики и методов закрепления: Мониторинг скрытных поведений, включая самоудаление (rm $0), тихие конвейеры (> /dev/null), пути выполнения только из RAM (/dev/shm) и хуки перезагрузки (crontab, systemctl).
  • Взвешенная оценка рисков: Реализует индекс безопасности от 0 до 100, классифицирующий потоки как «Чисто», «Осторожно» или «Опасно» на основе плоских макрометрик, позволяющих избежать раздувания оценки риска.
  • Глобальный переключатель смягчения: Позволяет пользователям мгновенно скрывать активные находки через TUI одним переключателем. Это визуально очищает представление, комментируя отмеченные блоки, и пересчитывает глобальный индекс оценки риска в реальном времени.
  • Режим пейджера для чистых потоков: Удаляет пустые блоки области просмотра. Когда поток проходит анализ без единого флага, полная раскладка терминала остаётся открытой как функциональный пейджер, позволяя выполнять стандартный построчный ручной обзор кода.
  • Динамический движок правил: Паттерны вынесены в независимый модуль правил, что позволяет модульно обновлять различные сигнатуры паттернов, не ломая цикл разбора TUI.
  • Движок удалённой загрузки: Проверяйте скрипты напрямую из GitHub, Gist или raw URL безопасно, с анализом только в памяти.
  • Обучающий аудит: Каждый флаг безопасности включает подробное объяснение и внешние ссылки, помогающие пользователям научиться выявлять вредоносные паттерны скриптов.
  • Разведка уязвимостей: Встроенное сканирование известных CVE в реальном времени через API OSV.dev, срабатывающее автоматически при обнаружении поддерживаемых команд установки пакетов.

Зависимости

Oversight написан на Rust ради производительности и изоляции бинарного файла. Для компиляции требуются следующие нативные компоненты:

  • Rust Toolchain: cargo и rustc (Edition 2021) для компиляции нативного движка.
  • OpenSSL: Системная библиотека, требуемая reqwest для установления безопасных удалённых операций выборки по TLS/SSL.
  • Основные крейты: ratatui, crossterm, tokio, reqwest, clap и regex.

Установка и настройка

  1. Через AUR (рекомендуется для Arch Linux) Стабильный релиз поддерживается в AUR. Установите его с помощью предпочитаемого помощника:

yay -S oversight-git

  1. Или соберите вручную:
git clone [https://aur.archlinux.org/oversight-git.git](https://aur.archlinux.org/oversight-git.git)
cd oversight-git
makepkg -si
  1. Из исходников:

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

  1. Запустите автоматический установщик: Установщик выполняет компиляцию, перемещает бинарный файл в ~/.local/bin и внедряет необходимые хуки в конфигурацию вашей оболочки (.zshrc, .bashrc или config.fish).
chmod +x install.sh
./install.sh
  1. Перезагрузите вашу оболочку:

source ~/.zshrc или ваш соответствующий конфиг оболочки


Файлы и расположение

  • Бинарный файл: ~/.local/bin/oversight
  • База правил: ~/.local/share/oversight/rules.json (учитывает $XDG_DATA_HOME)
  • Хуки оболочки: ~/.local/share/oversight/oversight.[zsh|bash|fish]

Использование

  • Аудит локального скрипта: oversight ./install.sh
  • Аудит удалённого URL: oversight https://raw.githubusercontent.com/...
  • Аудит локального конфигурационного файла: oversight ~/.local/share/oversight/rules.json
  • Живая защита: Автоматически перехватывает одиночные команды, такие как curl https://..., или опасные паттерны вроде rm -rf /, предлагая многоопционное меню триажа, и глубоко проверяет нижестоящие профили кэша AUR перед выполнением.

Интеграция с конфигурацией оболочки

Чтобы навсегда развернуть Oversight в качестве основного текстового пейджера и пейджера обновлений, добавьте одно из правил конфигурации в файл профиля вашей оболочки (например, ~/.zshrc, ~/.bashrc или ~/.config/fish/config.fish):

Вариант A: Интеграция с выделенным AUR-помощником (целевая)

Заставляет ваш хелпер использовать Oversight исключительно для обновления пакетов, не затрагивая другие системные команды:

Для yay (~/.zshrc или ~/.bashrc): alias yay="yay --diffpager oversight"

Для paru (~/.config/paru/paru.conf): Добавьте эти строки в ваш ~/.config/paru/paru.conf. Вы должны включить опцию CombinedUpgrade, иначе paru удалит ANSI-цветовые коды перед передачей текста в Oversight, и вы получите чёрно-белый текст:

[options]
Pager = oversight
CombinedUpgrade

Для других помощников, например Shelly Если вы используете другой помощник, вам нужно сообщить Oversight, где найти файлы кэша, с помощью переменной AUDIT_HELPER. Например, вы можете запустить его так:

AUDIT_HELPER=shelly shelly -Sua | oversight

В качестве альтернативы вы можете экспортировать переменную помощника глобально в профиле вашей оболочки, чтобы Oversight всегда знал, какой путь кэша проверять:

export AUDIT_HELPER="shelly"

Категории