概要
- macOSのPrivacy & Security設定 は、アプリのフォルダアクセス状況を正確に反映しない場合がある現象のデモ解説
- Insentアプリ を使い、実際のアクセス制御の裏側を検証
- ユーザーの明示的な操作 によって、設定上はブロックされていてもアクセスが可能になるケース
- 設定画面の表示と実際のアクセス制御の 不一致 を指摘
- アクセス権のリセットには 特殊なコマンドと再起動 が必要
macOSのPrivacy & Security設定の“魔法”の裏側
- macOS 13.5以降 で、Privacy & Security設定の Files & Folders 表示と実際のアクセス権限の不一致現象
- Insent というシンプルなアプリを用いたデモンストレーション
- Open by consent ボタン:ユーザーの同意を求めてDocumentsフォルダ内のテキストファイルを表示
- Open from folder ボタン:ユーザーがフォルダを選択し、その意図によって同意なしでファイル表示
- TCC(Transparency, Consent, and Control)によるアクセス制御の挙動検証
デモ手順と現象
- Insentをダウンロード・インストール後、 Open by consent でDocumentsアクセスを許可
- 設定画面で Documentsアクセスが許可されていること を確認
- 一度許可すると、再度の同意なしでアクセス可能
- 設定画面でDocumentsアクセスを 無効化
- Open by consentでアクセス不可となるが、 Open from folder でDocumentsを選択すると再びアクセス可能
- その後、 設定画面では依然としてアクセス不可表示 なのに、実際はアクセス継続
- 唯一のリセット方法 は、ターミナルで
tccutil reset All co.eclecticlight.Insentを実行し、Macを再起動すること
技術的な詳細
- Insentは 通常のノータライズ済みアプリ、特別なトリックは不使用
- SIP(System Integrity Protection)有効時は一部操作がサンドボックス化
- Open by consent ではサンドボックスがTCCへアクセス要求を中継し、ユーザー同意が必要
- Open from folder でユーザーがフォルダを選択した場合、サンドボックスの制約が解除される
- この解除は 設定画面に反映されず、TCCのFiles & Folders表示は実際の権限を示さない
問題点と考察
- 設定画面の表示は信頼できない ため、実際にはアプリが制限なくフォルダへアクセス可能な場合がある
- 多くのアプリは初期化時にアクセス権を取得しようとするが、ユーザー操作による“意図”で制御が上書きされる可能性
- アクセス権の解除が困難 で、ユーザーが容易に管理・防御できない点が問題
- この挙動は意図的というより設計上の抜け穴であり、ユーザーのコントロールを損なうリスク
結論:macOSのプライバシー設定の落とし穴
- Files & Foldersの表示は実際のアクセス制御と一致しない 場合がある
- アプリがユーザー操作を経由して 恒久的に保護フォルダへアクセス可能 となる現象
- アクセス権の完全なリセットにはコマンド操作と再起動が必須
- セキュリティ運用上、 設定画面だけに頼らず管理する必要性