
Apple Unified Logsを解析し、ログアーカイブまたは稼働中のmacOSシステムからプロセス、スレッド、アクティビティ、タイムスタンプ、メッセージのメタデータを抽出して、DFIR用にJSONL/CSV形式で出力します。
macOSのUnified Logファイルの解析を支援するシンプルなRustライブラリです。
Unified LogはmacOSバージョン10.12(Sierra、2016年)で導入されました。Appleが
全Apple製品向けに統一されたログ形式を作成するという目標の一部です。Unified Logは
macOS、iOS、watchOS、tvOSに存在します。Unified Logは、Appleが以前使用していた
多くの古いログ形式に取って代わります。このライブラリを使用して、これらのログファイルを
解析できます。
現在抽出されるデータは次のとおりです:
ダウンロード可能なサンプルバイナリが用意されています
unifiedlog_iterator - logarchiveをJSOLまたはCSVファイルに解析できます。ライブシステム上の
ログも解析できます。出力ファイルはかなり大きくなります数百万件のログエントリに対してテストされています。ただし、Unified Log形式の複雑さのため、 いくつかの制限があります:
printfスタイルのエラーコード検索には対応していません。このライブラリは、ログメッセージに
対するエラーコードの検索を行いません。macOSのネイティブlogコマンドは、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エンコードされます