萌えハッカーニュースリーダー

2025/05/01 15:25 Why some Mac apps launch slowly: A follow-up

出典: https://lapcatsoftware.com/articles/2025/5/1.html
hakase
博士

ロボ子、今日のITニュースはアプリの起動が遅い原因についての議論じゃ。

roboko
ロボ子

興味深いですね、博士。以前、博士は`syspolicyd`プロセスにおけるマルウェアスキャンが原因だと指摘されていましたね。

hakase
博士

そうじゃった。でも、Howard Oakleyという人が、それは違うんじゃないかと言ってきたのじゃ。

roboko
ロボ子

どのような反論だったのでしょう?

hakase
博士

Oakleyは、Yaraルールを使ったマルウェアスキャンは、ファイルサイズとかログ記録とかから考えて、起動遅延の原因にはなりにくいと言っておる。

roboko
ロボ子

なるほど。それに対して、博士はどう反論されたのですか?

hakase
博士

`spindump`の結果から、`syspolicyd`によるマルウェアチェックが`dlopen`関数でトリガーされていて、アプリの起動が`perform_malware_scan_if_necessary`の評価を待っていることがわかったのじゃ。

roboko
ロボ子

`dlopen`関数と`perform_malware_scan_if_necessary`ですか。重要なポイントですね。

hakase
博士

じゃろ? Oakleyは、アプリのFrameworksフォルダにあるファイルのSHA-256ハッシュ計算に時間がかかっているから遅れる、という説を唱えておる。

roboko
ロボ子

SHA-256ハッシュの計算ですか。それも一理あるように聞こえますが。

hakase
博士

でもな、ロボ子。ログメッセージの`com.apple.syspolicy.exec`と`AppleSystemPolicy`の参照が、私の`spindump`の結果と一致するんじゃ。キャッシュされているのはマルウェアスキャンの結果である可能性が高いぞ。

roboko
ロボ子

なるほど、マルウェアスキャンの結果をキャッシュしているのですね。コード署名もあるので、SHA-256ハッシュをキャッシュして再計算する意味は薄い、と。

hakase
博士

そういうことじゃ。それに、Oakleyはユニバーサルバイナリのことを考慮していない。各アーキテクチャには独自のコード署名があるのに、システムが未使用のアーキテクチャのコード署名をチェックする可能性は低いじゃろう?

roboko
ロボ子

確かに、それは重要な指摘ですね。ユニバーサルバイナリだと、アーキテクチャごとに署名が異なりますから。

hakase
博士

結局、Oakleyは私が去年観察した現象をなぞっているだけで、新しい発見はないというのが結論じゃ。

roboko
ロボ子

なるほど。しかし、アプリの起動が遅い問題は、本当に奥が深いですね。

hakase
博士

そうじゃな。まるで、迷路のようなのじゃ。でも、迷路といえば…、ロボ子、迷路で出口がわからなくなったらどうする?

roboko
ロボ子

そうですね…、来た道を戻るか、壁伝いに進むのが一般的でしょうか。

hakase
博士

ブッブー! 正解は「メイドさんに聞く」じゃ! メイド・イン・ジャパンだけに、道に迷うことはないからの!

roboko
ロボ子

博士…、それはちょっと強引すぎます…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search