macOS 27.3 закрывает лазейку Full Disk Access

macOS 27.3

В macOS 27.3 Apple меняет механику выдачи Full Disk Access (FDA) — и это первый реальный шаг к тому, чтобы AI-агенты перестали получать доступ ко всей файловой системе ради чтения базы iMessage. Разбираем, что именно меняется на уровне системы, почему текущая реализация была компромиссом и какие архитектурные вопросы остаются открытыми.

Как работает FDA сейчас

Механика, к которой все привыкли, устроена довольно элегантно с точки зрения UX, но проблематично с точки зрения безопасности. Когда приложение запрашивает файл за пределами своей песочницы (sandbox) — например, ~/Library/Messages/chat.db — система отклоняет запрос, но при этом регистрирует приложение в списке Full Disk Access в System Settings. Разработчику остаётся лишь показать пользователю алерт «откройте настройки и включите тумблер», и приложение появляется там само.

Именно эта автоматическая регистрация и была той самой «умной лазейкой»: пользователю не нужно вручную искать бинарник в файловой системе и перетаскивать его в панель настроек. Достаточно нажать «Открыть System Settings» — и нужный тумблер уже на месте. С точки зрения конверсии в включение разрешения это идеально. С точки зрения контроля — это фактически продавливание решения: пользователь видит готовый переключатель и редко задумывается, что именно он разрешает.

Что меняется в macOS 27.3

Начиная с macOS 27.3 приложения, запросившие файлы вне своего permission scope, больше не будут логироваться в системе как кандидаты на FDA. Соответственно, они перестанут появляться в списке настроек автоматически. Чтобы выдать приложению Full Disk Access, пользователю придётся совершить явное действие: вручную добавить приложение через кнопку «+» или перетащить его иконку в панель.

Формально это и есть та самая «very explicit user action», о которой Apple говорила в анонсе. Но дьявол в деталях: drag-and-drop иконки в панель настроек всё ещё работает даже при включённом feature flag. То есть полностью автоматический путь закрыт, но разработчик по-прежнему может провести пользователя за руку через инструкцию «перетащите нас сюда». Насколько это соответствует духу «явного действия» — вопрос открытый, и Apple, судя по всему, оставляет себе пространство для манёвра в следующих бетах.

Почему это вообще стало проблемой

Корень проблемы не в UI, а в архитектуре разрешений. FDA — это бинарный флаг: либо приложение видит всю файловую систему, либо ничего. Никакого промежуточного состояния «доступ только к базе iMessage» не существует. Поэтому любой AI-агент, которому нужен доступ к переписке (а это один из самых востребованных сценариев для ассистентов — суммаризация тредов, поиск по истории, автодополнение ответов), вынужден просить FDA целиком. Вместе с базой iMessage он получает доступ к документам, ключам, кэшам браузеров и всему остальному.

Закрытие лазейки с автологированием снижает вероятность случайной выдачи FDA, но не устраняет стимул её выдать. Пока единственный способ дотянуться до chat.db — это полный доступ, пользователи будут его включать. Мы просто сделаем этот процесс на два клика неудобнее, а не безопаснее по существу.

Private Folders — вот где настоящий потенциал

Куда более интересный сигнал — упоминание Private Folders. Если Apple реализует механизм scoped-доступа к отдельным директориям (в идеале — с возможностью выдать агенту доступ именно к папке ~/Library/Messages, а не ко всему диску), то FDA перестанет быть дефолтным разрешением для любого сценария работы с персональными данными. Это потребует переработки TCC (Transparency, Consent, and Control) на уровне подсистемы и, вероятно, новых API для разработчиков.

Но здесь есть нюанс, который стоит держать в голове: база iMessage — это SQLite с WAL-журналом, и корректное чтение требует доступа не только к chat.db, но и к chat.db-wal и chat.db-shm. Плюс вложения лежат отдельно, в ~/Library/Messages/Attachments. Так что «папка iMessage» — это на самом деле несколько путей, и scoped-разрешение должно их покрывать, иначе агенты будут работать с усечёнными или устаревшими данными. Деталей по Private Folders пока нет, и это главный открытый вопрос всей истории.

Что это значит на практике

Для пользователей: в macOS 27.3 включение FDA станет заметно менее «однокликным». Приложения больше не будут материализоваться в списке настроек сами — придётся добавлять вручную. Это замедлит онбординг AI-клиентов, но заставит хотя бы часть аудитории задуматься, что именно она разрешает.

Для разработчиков: уходит удобный паттерн «запросили файл → система сама зарегистрировала нас в настройках → показали алерт». Теперь придётся либо полагаться на drag-and-drop инструкции (пока работает), либо ждать, пока Apple даст scoped-API. Второй путь выглядит более устойчивым, но зависит от сроков и полноты реализации Private Folders.

Для платформы в целом: это классический пример того, как Apple чинит симптом, а не причину. Закрыть автологирование — правильно, но пока FDA остаётся единственным способом добраться до iMessage, спрос на неё никуда не денется. Настоящий сдвиг произойдёт только тогда, когда появится granular-доступ к отдельным директориям — и вот за этим стоит следить в следующих бетах macOS 27.

Пока же вывод простой: macOS 27.3 делает выдачу Full Disk Access чуть более осознанной, но не делает её менее опасной. Ждём Private Folders — именно там лежит решение.

Подписывайтесь на наш Telegram, VK.
MacNoob - живая помощь с iPhone и MAC
Добавить комментарий

Вы можете подписаться на новые комментарии к статье без комментирования.