Работа организуется через включение в код браузерных дополнений открытой JavaScript-библиотеки mellowtel.js, поставляемой под лицензией LGPLv3. Библиотека развивается проектом Mellowtel, продвигающим новую платформу монетизации, которая кроме браузерных дополнений может применяться в программах на базе фреймворков Flutter и Electron. Основная идея платформы в том, что разработчики браузерных дополнений и приложений могут зарабатывать деньги не через показ рекламы или сомнительные методы, такие как продажа данных, ущемляющих приватность пользователей, а через выполнение задач по индексации web-контента для обучения AI-систем.
Потребность AI-компаний в данных для обучения моделей привела к появлению многочисленных ботов, индексирующих сайты без разумного ограничения интенсивности отправки запросов и игнорируя правила индексирования robots.txt. Так как данные боты
создают огромную паразитную нагрузку на серверы, нарушают нормальную работоспособность систем и отнимают время администраторов, последнее время их начинают активно блокировать (например, сеть доставки контента Cloudflare реализовала опцию для блокирования подобных ботов по умолчанию).
AI-компании готовы платить за индексацию и платформа Mellowtel выразила готовность удовлетворить подобную потребность через вовлечение обычных пользователей в процесс сбора данных с сайтов. Платформа передаёт владельцам дополнений 55% от средств, вырученных от сотрудничества с AI-компаниями. Проект полностью легитимен и настаивает на том, что участие в скрапинге должно быть добровольным и активироваться только после явного согласия пользователя. Подразумевается, что пользователь в качестве благодарности к разработчикам дополнения может включить по умолчанию отключённый режим скрапинга и оказать им косвенную финансовую поддержку.
Проблема в том, что не все разработчики дополнений готовы работать честно и в открытую. В некоторых дополнениях пытаются скрыто от пользователя включить монетизацию Mellowtel в обход правил сервиса, что приводит к тому, что пользователь без явного согласия становится участником распределённой сети для загрузки данных с сайтов. Из 45 дополнений к Chrome, применяющих Mellowtel, 12 уже заблокированы Google за вредоносную активность. В каталоге Microsoft из 129 дополнений заблокировано 8, а в каталоге Mozilla из 71 дополнения заблокировано 2. Причины удаления не детализируются, но не исключается, что поводом стало некорректное использование Mellowtel.
Разработчик Mellowtel заявил, что для решения проблемы с возможным скрытым включением скрапинга сервис переходит на обязательную проверку всех дополнений, применяющих Mellowtel, на предмет обязательного отключения скрапинга по умолчанию (активация только после явного согласия пользователя) и наличия видимой кнопки для отключения. Запросы на получение заданий от дополнений не прошедших проверку будут помещаться в карантин и игнорироваться.
В процессе работы дополнения, использующие библиотеку Mellowtel, устанавливают websocket-соединение к внешнему серверу, размещённому в облаке AWS, через которое передают сведения о доступности пользователя, стране, пропускной способности канала связи и активации поддержки скрапинга пользователем. Периодически через соединение отправляются heartbeats-запросы, проверяющие доступность клиента. При появлении заданий на загрузку контента в просматриваемые пользователем страницы подставляется скрытый iframe, из которого осуществляется скрапинг.
Для загрузки внешних страниц из iframe, подставляемом при просмотре других сайтов, библиотека временно обходит предоставляемую в браузере защиту от загрузки стороннего контента, вырезая HTTP-заголовки Content-Security-Policy и X-Frame-Options и возвращая их после того, как нужная страница загружена. Вырезание осуществляется через модификацию сетевых запросов при помощи API declarativeNetRequest (для доступа к данному API дополнения запрашивают отдельное полномочие). Временное отключение заголовков Content-Security-Policy и X-Frame-Options негативно влияет на безопасность, так как на какое-то время убирает штатную защиту от атак с использованием межсайтового скриптинга (XSS).
Платформа Mellowtel аффилирована с компанией Olostep, предлагающей API для скрапинга, способный обходить защиту от ботов и параллельно выполнять до 100 тысяч запросов в минуту. Подобную активность сервиса, применённую в контексте одного сайта, можно сравнить с проведением распределённой DoS-атаки. Сервис также потенциально может использовать пользователей как прокси для извлечения контента из приватных сайтов, доступных только в подсетях, к которым пользователь получает доступ через VPN.
Источник: http://www.opennet.ru/opennews/art.shtml?num=63568