Про доступ к буферу обмена в iOS14

Сегодня я неоднократно получил в сообщениях ссылки на материалы о том, как «приложения на iOS данные из буфера обмена воруют». Иллюстрируется это все уведомлениями, которые появились в iOS 14, когда какое-то приложение пытается вставить содержимое этого буфера. Тут же, конечно, понеслось о том, что все приложения пытаются украсть ваши данные, хотя реальность на самом деле не так ужасна.

Собственно, алерт появляется, когда приложение пытается вставить что-то из буфера, и таким образом может прочитать его содержимое. Такой баннер в iOS14 показывается достаточно часто и пользователи обратили на него внимание. Надо понимать, что не все приложения делают это с вредоносной целью, хотя, безусловно, есть приложения с рекламными СДК, которые могли попытаться тырить содержимое контента. Вот есть исследование на эту тему — Precise Location Information Leaking Through System Pasteboard | Mysk, и, думаю, именно оно стало толчком для этих изменений) Например, приложение Chrome проверяет содержимое клипборда, чтобы понять, присутствует ли там УРЛ, для того, чтобы при вставке в поле адреса предложить команду Paste and Go. Сторонний клиент для Reddit — Apollo — пытается обнаружить в буфере ссылку на пост на Reddit, чтобы сразу открыть его в приложении. Текстовые редакторы иногда пытаются просто вставить текст из клипборда в пустой документ для упрощения жизни пользователям. Но суть в том, что раньше на iOS проверить тип контента в буфере можно было, только попробовав вставить его — то есть чтобы Chrome понял, что в клипборде URL, его надо было попробовать в бекграунде вставить.

В iOS 14 появился новый API для разработчиков (UPasteboard.DetectionPattern), который позволяет разработчикам узнать тип содержимого в клипборде без его вставки в приложение. Когда разработчики в iOS 14 начнут использовать этот СДК, они смогут, используя эти СДК, проверять тип контента, не вставляя его. Таким образом честные приложения не будут триггерить подобные алерты, а нечестные спалятся. Думаю, потенциальным улучшением (и одновременно ухудшением) user experience будет очередной диалог-подтверждение из серии «разрешить приложению доступ к буферу обмена».

1 comment

В духе эпл. Из нихера сделать шумиху.
Собрать залы и стадионы из-за одной тупой функции.