Appleが現地時間2026年08月03日付けで公開/アップデートした「Apple Platform Security (PDF)」によると、Appleは悪意のあるコマンドをターミナルにコピー&ペーストさせたり、悪意のあるスクリプトをダウンロードし実行させるソーシャルエンジニアリング攻撃に対処するため、ターミナルのペースト保護機能を含め3つの保護機能を macOS 26.4で実装。
それが、「Terminal paste protection」「Pasteboard command blocking」そしてAppleScriptに関する「AppleScript scanning」です。
全文を含むPDF(英文)
https://help.apple.com/pdf/security/en_US/apple-platform-security-guide.pdf
(原文)
AppleScript scanning for AppleScript and JavaScript for Automation (JXA) scripts uses XProtect technology. Because the scanning is integrated into the OpenScripting framework, all AppleScript executions on macOS are subject to local inspection, whether the script is loaded from storage or from memory.
「AppleScript scanning for AppleScript and JavaScript for Automation (JXA) scripts 」はXProtect技術を用いています。このスキャニングはOpen Scripting Architecture frameworkに組み込まれており、すべてのmacOS上のローカルの資源への探索を行うAppleScriptの実行がスキャン対象です。これは、SSDやHDDなどのストレージから読み込まれたか、メモリ上から読み込まれたかを問いません。すべてが対象です。
(原文)
When a script matches a known malicious signature, macOS blocks execution and presents the user with a notification.
これらのScriptが既知の悪意ある署名にマッチした場合、macOSは通知を表示しつつ実行をブロックします(XProtectがマルウェアの検出を、バイナリ全体を見て実行)。
(原文)
If the blocked script is associated with a file stored on one of the following, the user can choose to override the block through the existing malware protection override in Finder: •Internal storage •External device •Cloud-based service •Mounted file server
実行をブロックされたScriptがストレージ(内蔵SSD、外付けドライブ、クラウドストレージ、マウントしたファイルサーバー)上のファイルに関連づけられている場合、ユーザーは Finder の既存のマルウェア保護オーバーライドを通じてブロックをオーバーライドすることを選択できます(実際にブロックされるところを見ていないので不明)。
(原文)
Scripts executed without an associated file—such as those run directly from memory—can’t be overridden. The user needs to save the script first before requesting an override.
関連ファイルなしで実行されるスクリプト (メモリから直接実行されるスクリプトなど) はオーバーライドできません。ユーザーは、オーバーライドをリクエストする前に、まずスクリプトをファイルに保存する必要があります。
Piyomaru Softwareの所見
マルウェアがAppleScriptバイナリを含む場合、その実行Scriptのチェックサム同士で比較している印象を受けます。実行時に実行Scriptのチェックサムを取得し、問題があるScriptと同一であれば実行をブロック、と読めます。
気になる点は2つ。
XProtectによってマルウェアScriptとの比較を行うのにどの程度の処理のオーバーヘッドが発生するのか?
単独のファイルとして存在していないScriptのチェックを行えるのか?
メモリ上で組み立てたScriptについてはチェック対象ではないといった記述があるため、他の実行ファイルのバイナリ内部に埋め込んだScriptについては、対処できないように見えます。
また、URL Events経由で流し込まれた悪意あるAppleScript(スクリプトエディタでオープン)の構文確認時(Apple Eventsへのコンパイル時)にXProtectのチェックが動かないと意味がないのでは? とも考えます。
さらに、何かの手違いで手元のScriptが「マルウェアScript」と判定された場合の異議申し立て方法については一切何も説明されていません。
いきなり強めのセキュリティしばりを加えるよりも、段階的にセキュリティ機能を追加するという方針は(なんとなく)理解できはするのですが、例によってApple社内の誰が本件について担当しているのかが不明なので、文句を言う先がよくわかりません。
