
Разбирает Apple Unified Logs для извлечения метаданных процессов, потоков, активности, временных меток и сообщений из архивов журналов или «живых» систем macOS в форматы JSONL/CSV для целей DFIR.
Простая библиотека на Rust, которая помогает анализировать файлы macOS Unified Log.
Unified Logs были представлены в macOS 10.12 (Sierra, 2016). Частью цели Apple было создание единого формата журналов для всех продуктов Apple. Они существуют на macOS, iOS, watchOS, tvOS. Unified Logs заменяют многие старые форматы журналов, которые использовала Apple. Эта библиотека может использоваться для анализа этих файлов журналов.
Данные, которые в настоящее время извлекаются, включают:
Пример бинарного файла доступен для загрузки
unifiedlog_iterator — может анализировать logarchive в файл JSOL или CSV. Он также может анализировать журналы на работающей системе. Выходной файл будет довольно большимБиблиотека была протестирована на миллионах записей журнала. Однако из-за сложности формата Unified Log есть некоторые ограничения:
Нет поддержки поиска кодов ошибок в стиле printf. Эта библиотека не выполняет поиск кодов ошибок для сообщений журнала. Встроенная команда log в macOS поддерживает поиск кодов ошибок при обнаружении сообщений в стиле printf с %m.
Например, сообщение журнала: 'Failed to open file, error: %m'
a. Эта библиотека выводит:
Failed to open file, error: 1
b. Команда macOS Log выводит:
Failed to open file, error: no such file or directory
Эта библиотека поддерживает большинство пользовательских объектов в сообщениях журнала. Однако неподдерживаемые объекты будут закодированы в base64