Выпуск Snoop 1.4.2, OSINT-инструмента для сбора информации о пользователе из открытых источников

Опубликован выпуск проекта Snoop 1.4.2, развивающего криминалистический OSINT-инструмент, разыскивающего учётные записи пользователей в публичных данных (разведка на основе открытых источников). Программа анализирует различные сайты, форумы и социальные сети на предмет наличия искомого имени пользователя, т.е. позволяет определить на каких сайтах имеется пользователь с указанным ником. Проект разработан на материалах исследовательской работы в области скрапинга публичных данных. Сборки подготовлены для Linux и Windows.

Код написан на языке Python и распространяется под лицензией, ограничивающей применение только для личного пользования. При этом проект является ответвлением от кодовой базы проекта Sherlock, поставляемой под лицензией MIT (форк был создан из-за невозможности расширить базу сайтов).

Snoop внесён в российский Единый реестр российских программ для электронных вычислительных машин и баз данных с заявленным кодом 26.30.11.16: “Программное Обеспечение, обеспечивающее выполнение установленных действий при проведении оперативно-розыскных мероприятий:: No7012 приказ 07.10.2020 No515”. На данный момент Snoop выслеживает наличие пользователя по 4752 интернет ресурсам в полной версии и по самым популярным ресурсам в Demo-версии.

Основные изменения:

  • Поисковая база расширена до 4752 сайтов.
  • Исправлен подсчёт значения “bad_raw” при поиске нескольких “username” из CLI или при запуске с опцией ‘–userlist/-u’.
  • В версии для Windows проведена оптимизация работы с HTTP-библиотеками, что в некоторых ситуациях ускорило поиск на 20-25%.
  • Повышена эффективность повторных запросов при неудачных попытках соединения.
  • Оптимизирован алгоритм ускорения поиска на слабых одноядерных VPS и мощных многоядерных системах с GNU/Linux. Изменены ограничения верхнего предела утилизации ресурсов CPU при разгоне поиска вручную:
    для GNU/Linux и Android/Termux — планка поднята, для Windows — планка опущена.
  • Ускорена работа ПО в режиме ‘–save-page/-S’ (поиск и сохранение локальных HTML-страниц).
  • Ускорено безопасное высвобождение ресурсов при прерывании работы на системах с GNU/Linux и Android/Termux (прерывание по Ctrl+c теперь занимает менее 1 секунды).
  • В версии для Android/Termux добавлено оповещение о недоступности диска и предложение автоматически исправить ошибку доступа к каталогу “/storage/emulated/0/snoop/*” (если пользователь пропустил некоторые шаги при установке из исходных текстов).
  • Нижний порог при срабатывании оповещений Bad_raw изменён с 2.5% до 2%.
  • В CLI- и csv- отчёты добавлен “плавающий” параметр bad_zone с местоположениями, в которых чаще всего происходят ошибки соединения.
  • В текстовом отчёте улучшено форматирование столбцов, сделан реверс данных “Адрес | Ресурс” и добавлен параметр “Гео”. В html-отчёте улучшена визуализация разбивки по странам. В csv-отчёте столбец “username” заменён на строку “Nick”, добавлен параметр отслеживания сайтов со статусом: “завис”.
  • Зациклены функции удаления кэша, обновления ПО и проверка БД (при неверном выборе/опечатке происходит не выход из программы, а повторный запрос на ввод с подсказкой).
  • В CLI добавлено оповещение и рекомендация, как исправить/улучшить работу утилиты, если пользователь собрал Snoop из исходного кода, но при сборке не выполнил указанные в документации инструкции (например,
    если используются устаревшие версии HTTP-библиотек и Python).
  • В блок ‘snoop info’, секцию ‘Recommended pool’ и опцию ‘–version/-v’ добавлены расчёты требований к системным ресурсам для нормальной работы ПО.
  • Проведено агрессивное сжатие репозитория. Сохранен полный бэкап истории. Пользователи, обновляющие Snoop из исходного кода, должны повторно выполнить ‘git clone’.
Release. Ссылка here.