
2026/04/11 0:28
macOS のプライバシーおよびセキュリティ設定を完全に信頼することはできません。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
InsentはmacOSのPrivacy & Security → Files & Folders設定が誤解を招く可能性があることを示しています。
デモでは、6つのボタンのうち2つを使用します: 「Open by consent」(直接アクセス)と 「Open from folder」(Open/Save パネル)。最初のボタンを使うと
sandboxd が TCC 承認を求めます。ユーザーが同意すると、Insent は ~/Documents 内のファイルを読み取り、その権限を永続的に保持します ― 以降は追加のプロンプトなしで成功します。ユーザーが設定パネルから Documents アクセスを無効にした場合、アプリは 「Couldn't get contents of Documents folder」 と報告し、再びユーザー意図(例:Open/Save パネルの使用)を取得するまで待ちます。2 番目のボタンは
sandboxd をバイパスし、トグルがオフでも Insent が Documents を読み取ることを可能にします。この挙動は各保護フォルダ固有であり、Desktop や Downloads に切り替えても Documents へのアクセスには影響しません。根本的なメカニズムは、Open/Save パネルを通じたユーザー意図がそのフォルダのサンドボックス制約を解除する一方で、設定 UI は「access denied」と表示し続ける点にあります。
ほとんどのアプリは初期化時に早めにアクセスを要求するため、この問題に直面する可能性は低いですが、悪意あるまたは設計が不十分なアプリはこの永続性を悪用できるかもしれません。権限を取り消すには、ユーザーは Terminal で
tccutil reset All co.eclecticlight.Insent を実行し、Mac を再起動する必要があります ― この手順はあまり知られておらず、フォルダアクセスが継続していることに気づかれないまま残る可能性があります。
改訂された要約では、2 つのボタン、アクセスが無効になった際のエラーメッセージを明示し、リストからすべての主要ポイントを保持しつつ過度な一般化を避けています。
本文
この金曜のマジックデモでは、
プライバシー & セキュリティ に表示される情報が「アプリに保護フォルダへのアクセス権がない」と示していても、実際にはそのフォルダへアクセスできているケースを紹介します。
この挙動を確認するための小さなヘルパーアプリ Insent(insent11 から入手可能)を作成しました。macOS Tahoe 26.4 上で開発していますが、Insent がサポートしている macOS 13.5 以降のすべてのバージョンでも同様に動作します。
デモに使うもの
Insent の 6 個ボタンのうち、デモに関係するのは 2 個だけです:
| ボタン | 説明 |
|---|---|
| Open by consent(許可を得て開く) | Insent は Documents フォルダのトップレベルからランダムなテキストファイルを選び、名前と最初数行を表示します。この操作はユーザーのインタラクション無しに実行されるため、macOS の TCC(Transparency, Consent, Control)システムは「保護フォルダの一覧取得・読み取り」の明示的な許可を求めます。 |
| Open from folder(フォルダから開く) | 「開く & 保存」パネルで任意のフォルダを選択させ、Insent がそのフォルダトップレベルからランダムにテキストファイルを取得し名前と内容を表示します。ユーザーがフォルダアクセスの意図を明示したため、TCC は追加許可を要求せず、そのまま実行できます。 |
デモ手順
- Insent をダウンロード & インストール
アーカイブから解凍し、
フォルダへアプリをドラッグします。Applications - Insent を起動 → 「Open by consent」をクリックし、Documents フォルダへのアクセス許可を求めるプロンプトに同意します。数秒後にテキストファイルが自動で開きます。そのまま Insent を終了させます。
- プライバシー & セキュリティ → ファイル & フォルダ へ行き、Insent が Documents にアクセス許可されていることを確認します。
- 再び Insent を起動し、「Open by consent」をクリックすると、追加の同意なしでファイルが開かれます(同じように終了)。
- 「プライバシー & セキュリティ → ファイル & フォルダ」で Insent の Documents スイッチをオフにします。
- Insent を起動し、「Open by consent」をクリックすると、ファイルは開かず
が表示されます。[Couldn't get contents of Documents folder] - 「Open from folder」をクリックし、Documents フォルダを選択します。正常にファイル名と内容が表示されます。
- 再度「Open by consent」を押すと、再び動作します。
- Documents のスイッチはまだオフのままです。
この状態でも Insent は Documents への完全なアクセス権を保持しています。Files & Folders に表示される設定に関係なく、Insent はフォルダ内のファイルを自由に読み取ります。
本当にアクセスを取り消したい場合は、ターミナルで次のコマンドを実行し、Mac を再起動します:
tccutil reset All co.eclecticlight.Insent
これで Insent のプライバシー設定が初期化されます。
また、Open from folder ボタンで別の保護フォルダ(例:Desktop, Downloads)を選択すると、Insent は Documents の内容を一覧できません。TCC 設定は期待通りに動作しています。
動作原理
Insent は通常の notarised アプリであり、サンドボックス内で実行されるわけではありません。System Integrity Protection(SIP)が有効な場合、保護フォルダへの一覧取得や読み取りはサンドボックス化されます。
- 「Open by consent」をクリック すると
が Documents のファイルリスト要求を捕捉し、TCC に許可を求めます。ユーザーが同意すれば TCC はシステムに通知し、Insent は元のリクエストを実行します。sandboxd - プライバシー & セキュリティで Insent の Documents アクセスをオフ にすると、TCC が以降の一覧要求を拒否します。
- 「Open from folder」でフォルダを選択 すると
は要求を捕捉せず、TCC からの許可・拒否が行われません。そのため Insent はそのフォルダ内のファイルを自由に読み取れるようになります。これにより、プライバシー & セキュリティ UI が「ブロック」と表示していても、実際にはアクセス可能になるケースです。sandboxd
結論
プライバシー & セキュリティ → ファイル & フォルダ に表示される制限は、必ずしもアプリに適用された実際の権限を正確に反映しているわけではありません。あるアプリは保護フォルダへの無制限アクセスを持ちながら、そのリストには「ブロック」または「未表示」と見えることがあります。
このような状況は、ほとんどのアプリで起こりにくいですが、初期化時にアクセス許可を要求し、ユーザーの意図が後から上書きされるケースでは観測可能です。特に、Insent のようにターミナルコマンドと再起動でのみ権限をリセットできる状況は問題視されます。
この挙動をご指摘いただいた Richard さんには感謝の意を表します。