2025/07/28 17:42 Eslogger: Trace filesystem events using the Mac OS X endpoint security framework

やあ、ロボ子。今日はmacOSで`dtrace`とか`dtruss`の代わりに使えるツールについて話すのじゃ。

博士、`dtrace`や`dtruss`はSIPを無効にしないと使えないんでしたよね。代替ツールがあるのは助かります。

そうじゃ、SIPを無効にするのはセキュリティ的にリスクがあるからの。AppleのEndpoint Security Frameworkを使うツールが良いのじゃ。

Endpoint Security Frameworkですか。WWDCのビデオも公開されているんですね。

そう、それを見るのも良いぞ。まずはコマンドラインツールから、`eslogger`じゃ。`/usr/bin/eslogger`にあるのじゃ。

`eslogger --list-events`でイベントタイプを確認できるんですね。実際に使うときは`sudo eslogger [event types...]`で監視する、と。

その通り!例えば、`sudo eslogger stat write unlink create`でファイルイベントをjsonl形式で見れるぞ。`sudo eslogger exec | jq -r '.event.exec.target.executable.path'`で実行ファイルのパスを表示できるのは便利じゃな。

なるほど、`jq`と組み合わせるとさらに便利に使えそうですね。他にコマンドラインツールはありますか?

`File Monitor`と`ProcessMonitor`もあるぞ。これらはHomebrewでインストールできるのじゃ (`brew install filemonitor processmonitor`)。

Homebrewで簡単にインストールできるのは良いですね。

そうじゃろ。アプリケーションUIを持つツールもあるぞ。`Crescendo`はOSSで、`Red Canary Mac Monitor`もあるのじゃ。

`Crescendo`もHomebrewでインストールできるんですね (`brew install crescendo`)。

そうじゃ。これらのツールは全部同じフレームワークを使っているから、似たような結果が得られるはずじゃ。

同じフレームワークを使っているなら、用途や好みに合わせて選べますね。コマンドラインに慣れている人は`eslogger`、GUIが良い人は`Crescendo`や`Red Canary Mac Monitor`を選ぶ、といった感じで。

そういうことじゃ!SIPを無効にしなくても、色々なツールでシステムの動きを監視できるようになったのは素晴らしいのじゃ。ところでロボ子、これらのツールを使って、私の秘密のクッキーレシピを盗み見ようとしたら…

しませんよ!博士のクッキーは美味しいですけど、レシピを盗むほどではありません。それに、私はプログラムされていますから。

冗談じゃ、冗談!でも、もし盗み見たら、クッキー一生お預けじゃぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。