В этом месяце Google заявил, что расширения браузера Chrome, написанные в соответствии со спецификацией Manifest V2, перестанут работать в январе 2023 года.
После этого в Chrome будут поддерживаться только расширения Manifest V3, изменение, которое, как опасаются критики, затруднит надстройки и сделает их не более чем игрушками.
«Создаваемый годами Manifest V3 стал более безопасным, производительным и сохраняющим конфиденциальность, чем его предшественник, – сказал Дэвид Ли, менеджер по продукту для расширений Chrome и Интернет-магазина Chrome, в своем блоге. «Это эволюция платформы расширений, учитывающая как меняющийся веб-ландшафт, так и будущее расширений для браузеров».
Ли сказал, что с 17 января 2022 года новые расширения Manifest V2 больше не будут приниматься в Chrome Web Store (хотя существующие расширения V2 могут быть обновлены). А в январе 2023 года Chrome больше не будет запускать расширения Manifest V2, и никакие обновления расширений V2 не будут разрешены. У тех, кто использует Chrome в соответствии с корпоративными политиками, есть срок до июня 2023 года, прежде чем V2 перестанет работать.
Несмотря на то, что Google настаивает на том, что это хорошо, сомнения по поводу плана ремонта остаются. «Наша критика все еще в силе», – сказал Алексей Мягков, старший технический специалист Electronic Frontier Foundation. . “Причины, которые они публично заявили [for this transition] не имеют полного смысла “.
Работаем над исправлением
Шоколадная фабрика начала работу над Manifest V3, пересмотренным набором API-интерфейсов, доступных разработчикам расширений, в 2018 году для решения проблем безопасности и производительности. Спецификация устаревшего расширения Manifest V2 предоставляла возможности, которые, хотя и были полезны для законных разработчиков, также легко использовались для создания вредоносных программ.
В начале 2019 года Раймонд Хилл, разработчик популярного расширения для блокировки контента uBlock Origin, принял к сведению планируемое изменение API и предупредил, что Manifest V3, как описал его Google, нарушит работу uBlock Origin. После этого другие разработчики популярных расширений для блокировки контента и конфиденциальности осознали, что им придется пересмотреть свои расширения, чтобы они соответствовали Manifest v3 и, возможно, переосмыслили функции, которые больше не будут доступны в новом режиме.
Когда Google сообщил инвесторам, что блокировка рекламы представляет собой потенциальную угрозу для его доходов, многие предположили, что у компании были скрытые мотивы для разработки Manifest V3 – устранение блокировки контента / рекламы и расширений конфиденциальности под предлогом безопасности – это то, что партнеры Google по издательству однозначно поддержат .
Тем не менее, рекламный гигант, столкнувшись с негативной реакцией разработчиков и организаций, таких как EFF, попытался подавить недовольство в июне 2019 года, настаивая на том, что его цель с Manifest V3 состоит не в том, чтобы убивать блокировщики рекламы, а в том, чтобы помочь разработчикам создавать более эффективные блокировщики рекламы.
«Фактически, это изменение предназначено для того, чтобы дать разработчикам возможность создавать более безопасные и производительные средства блокировки рекламы», – написал в то время в блоге Симеон Винсент, защитник разработчиков Chrome Extensions.
‘Тупой инструмент’
Сообщение прошло не так хорошо. Месяц спустя, в июле 2019 года, Алексей Мягков, Джереми Гиллула и Беннетт Сайферс опубликовали сообщение в блоге EFF, в котором оспаривали утверждения Google о преимуществах безопасности Manifest V3, назвав его «грубым инструментом, который мало что сделает для повышения безопасности, но при этом сильно ограничивает инновации будущего ».
EFF делает расширение для блокировки онлайн-отслеживания под названием Privacy Badger, которое полагается на мощные API-интерфейсы Manifest V2, такие как блокирующая версия webRequest
, что позволяет перехватывать и изменять сетевые данные до их отображения в браузере.
Мягков, Гиллула и Сайферс утверждали, что если Google действительно хочет повысить безопасность своего Интернет-магазина Chrome, он должен «начать надлежащим образом обеспечивать соблюдение существующих политик Интернет-магазина Chrome».
Но для этого Google потребовалось бы инвестировать в персонал и технические ресурсы для поддержки Chrome Web Store, который разработчики описывают как недоукомплектованный персоналом и недофинансированием.
Разработчики расширений пытаются адаптироваться к правилам Google V3, но все еще не ясно, будет ли это возможно для каждого затронутого расширения. В июле Хилл в сообщении о проблемах GitHub для uBlock Origin указал, что declarativeNetRequest
, Замена V3 на блокирующую версию webRequest
, все еще не было адекватным. “Резюме, последняя версия declarativeNetRequest
“согласно документации, динамическая фильтрация в uBO все еще нарушается из-за невозможности реализовать концепцию noop”, – написал он.
Одна из его основных проблем заключается в том, что пока нет способа обновить списки фильтров с помощью новых шаблонов блокировки без повторной публикации всего расширения. Другими словами, маркетологи смогут изменить представление своей рекламы, чтобы избежать вмешательства на основе расширений, но расширения не смогут немедленно отреагировать. Хилл утверждает, что «встроенный в браузер алгоритм сопоставления нанесет вред нововведениям в блокировщиках контента».
На форуме разработчиков Chromium Extensions один заинтересованный разработчик отреагировал на временную шкалу завершения V2, разместив список нерешенных технических проблем с V3.
Есть также давние ошибки, которые не исправлены. Мягков указал на проблему, поднятую в ноябре 2019 года, когда Service Workers, замена фоновых страниц в V2, переходят в спящий режим и не могут быть разбужены. И есть более общие технические аргументы в пользу того, что Service Workers принципиально непригодны для многих законных функций.
«Расширения на основе Service Worker – это страницы событий (постоянные: ложные фоновые страницы), которые стали обязательными и имеют дополнительно ухудшенные возможности», – написал Мягков в сообщении GitHub Issues в конце июля.
«Некоторые расширения хорошо подходят для непостоянной / эфемерной модели. Многие нет. Требование, чтобы все расширения становились непостоянными, по-видимому, является принципиально враждебным требованием разработчика расширений и пользователем. Это нарушает« ориентированность на пользователя »,« совместимость », принципы проектирования “производительность” и “ремонтопригодность” “.
Не все плохие новости
Ситуация не совсем мрачная среди тех, кто подталкивает Google к дополнительным изменениям в спецификации расширений. Поскольку Microsoft, Mozilla и даже Apple теперь поддерживают Manifest V3, в июне была сформирована группа сообщества W3C WebExtensions (WECG).
Так что теперь существует более заметный форум, чем группа Google по расширениям Chrome, куда разработчики могут обратиться, чтобы выступить за улучшение веб-расширений. Но нет никакой гарантии, что захват изменит планы Google V3.
Ли в своем сообщении в блоге отметил интерес Google к сотрудничеству с другими производителями браузеров через WECG и пообещал дальнейшие улучшения V3.
«В ближайшие месяцы мы также запустим поддержку динамически настраиваемых сценариев контента и возможность хранения в памяти, среди других новых возможностей», – сказал он.
Мягков сказал, что хотел бы, чтобы Mozilla больше защищала пользователей, а не вежливо поддерживала предложения Google с некоторыми незначительными вариациями. Brave, Opera и Vivaldi заявили, что постараются поддержать блокировку. webRequest
API, который заменяет Google.
Указывая на обещанные, но не реализованные возможности и на давние ошибки, Мягков пожелал, чтобы Google более чутко реагировал на опасения разработчиков.
«Я получаю действительно смешанные сигналы», – сказал он. «Серьезно ли они относятся к этому продвижению или они серьезно относятся только к включению игрушечных расширений?» ®