Sandboxアプリがユーザーに気づかれないようにMacの画面を録画出来てしまう問題は2011年から指摘されていたそうです。詳細は以下から。
2018年02月10日、Googleでfastlane.toolsを開発しているFelix Krauseさんは「Sandboxアプリでもユーザーに気づかれないようMacの画面を録画し、OCRにより個人情報を読み取ることが可能だった」という記事とPoCを公開しましたが、Objective-SeeのPatrick Wardleさんら一部のセキュリティ研究者らは、2011年(Mac OS X 10.7 Lion時代)からこの問題を指摘してきたそうで、
I was not aware that sandbox'd macOS apps could grab screen captures 😟 …but we can't say we weren't 'warned' From 2011: https://t.co/WgpB9g8iyh pic.twitter.com/YURD1yHqtl
— patrick wardle (@patrickwardle) 2018年2月11日
Keyboard and Screen Access
[…] The same is true for screen capturing with CGWindowListCreateImage still working so that an sandboxed app may capture the whole screen including the window contents of other apps without (non-existing) entitlements for that.Sandbox of Doom – Timschroeder
さらにこの記事がHacker Newsに投稿されると多くのコメントが集まり、その中に2003年からAppleのソフトウェアエンジニアとしてAppKitの開発に関わっていたPeter Ammon(ridiculous_fish)さんが現れ、「私の考えではMacアプリのSandbox化は戦略ミスだった」とコメントしたことからさらに議論が白熱しているそうです。
Peter Ammon, former AppKit engineer at Apple, in a comment in a Hacker News thread regarding a report positing that the ability of Mac apps — even sandboxed ones — to capture screenshots of the entire screen is a security problem : IMO the app sandbox was a grievous strategic mistake for the Mac. Cocoa-based Mac apps are rapidly being eaten by web apps and Electron pseudo-desktop apps.
The Threat to the Mac: The Growing Popularity of Non-Native Apps – Daring Fireball
NativeとNon-Native
AmmonさんはCocoaベースのMacアプリ(ネイティブアプリ)が急速にWebやElectronアプリに飲み込まれている現状に対し、Macアプリが生き残るためにはパフォーマンスやシステムへの統合、開発経験、機能などが必要だが、Sandboxはこれら全てに影響を与え、この記事のようにWebアプリよりセキュリティ面でも劣っていると指摘しており、その価値に見合った利益がなく個人的な意見としてはAppleはSandboxを廃止すべきだとコメントしており、
Q.From a developer stand, why advantages do I get from making a native Mac app compared to a web app or an Electron app?Web apps in the browser are OS-Agonstic and Electron apps can be easily made cross-platform.
A.The answer is quality. As a Mac user I always prefer a native Mac app to some cross-platform app, even one with nominally more features.
More specifically:
- Superior performance. Native apps are just faster. They launch faster. They use an order of magnitude less memory. Multithreading via GCD is much much nicer than Web Workers. Large files are better supported. You can have very large tables. etc.
- They properly implement Mac UI idioms. By comparison even the nicest Electron-like app (VSCode) violates many longstanding expectations: it doesn’t properly highlight the menu bar when typing a key equivalent, menu items don’t disable properly, the text highlight color is wrong, text selection anchors incorrectly, no column selection, text drag and drop is badly broken, undo doesn’t know what it’s undoing, undo coalesces incorrectly, hell even arrow keys sometimes go the wrong way. It’s an island app doing its own thing.
The theory of the Mac is to establish a set of UI conventions. When you launched a new app, you would already know how to use most of it, because it was a Mac app. It looks and behaves like other apps, so you feel at home already. And as a developer, you get the right behavior now and in the future, for free.
But if every developer builds a cross-platform app with a custom framework and appearance and behavior and UI, then the OS loses its role in defining the platform conventions. In that event, what’s the point in having more than one OS?Hacker Newsより
加えて「WebやElectronアプリはクロスプラットフォームに対応できるが、ネイティブアプリがWeb/Electronアプリと比較して優れている点はなんですか?」という質問に対し、MacのネイティブアプリはWeb Workersなどと比較してパフォーマンスやメモリ効率、GCDによるマルチスレッド、新しいアプリを初めて起動しても何がどこにあるかが分かる統一されたUIなどが優れているとフォローしており、Daring FireballのJohn GruberさんはAppleはSandboxが前提としてデザインされたiOSではアプリのSandbox化に成功しているが、Macではその前提がないとして、非ネイティブアプリを開発する開発者の数と、それを問題としないユーザーの数がMacの脅威になるかもしれないとコメントしています。
The real problems facing the Mac are the number of developers creating non-native “Mac” apps and the number of users who don’t have a problem with them.
The Threat to the Mac: The Growing Popularity of Non-Native Apps – Daring Fireball
- Sandbox of Doom – Timschroeder
- The Threat to the Mac: The Growing Popularity of Non-Native Apps – Daring Fireball
- Windows 10で「Progressive Web Apps」サポートへ–MSが詳細を説明 – ZDNet Japan
コメント
MacアプリのSandbox化は確かに要らなかった。もしくはもっと別のやり方があったと思う。