Опубликован выпуск проекта 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’.