The-OP / Fox

The Unlicense
161 stars 23 forks source link

[Дискасс] Эпический фейл крэш-репортера и будущее проекта Fox #147

Open The-OP opened 6 years ago

The-OP commented 6 years ago

На днях я изучил баг 1424373 (и связанный с ним баг 1427111), исправленный в Firefox 57.0.3 и 52.5.3, и увидел, что все намного серьезнее чем казалось.

Шаги для проявления этого самого бага:

  1. Скачать Firefox 57.0.0. Либо 52 ESR, версию до 52.5.3.
  2. Создать новый профиль через менеджер профилей (firefox -p), но пока не запускать браузер с ним.
  3. Создать в новом профиле user.js с настройками, отключающими автообновление браузера и аддонов. Это нужно, чтобы Firefox не обновился до 57.0.3 или не скачал системный аддон-хотфикс, который воркэраундит баг для пользователей не обновляющихся до 57.0.3.
  4. Запустить новый профиль, зайти в Preferences и убедиться что автоотправка крэш-репортов отключена (Allow Firefox to send crash reports to Mozilla - она же browser.crashReports.unsubmittedCheck.autoSubmit в about:config). Она отключена по умолчанию, ибо якобы подразумевалась opt-in, как пишут разработчики в Багзилле.
  5. Открыть какой-нибудь таб и убить его процесс с SIGTERM или SIGKILL. При такой участи крэш-репорт не сгенерируется. Зато проявится тот самый баг.
  6. Нажать Restore tab на убитом табе, снова зайти в настройки и убедиться что автоотправка крэш-репортов сама включилась.
  7. Открыть еще какой-нибудь таб и переключиться с него на любой другой. Ронять будем тот, с которого переключились.
  8. Запустить Browser Toolbox, вкладку Network Monitor. Она показывает сетевые запросы всего браузера, а не только вкладки.
  9. Уронить контент-процесс таба из п.7 таким образом, чтобы крэш-репорт сгенерировался. Для этого можно убить его с SIGSEGV или SIGILL (Illegal Instruction).
  10. Переключиться обратно на уроненную вкладку. Из-за включенной автоотправки крэш-репортов вкладка восстановится автоматически, без показа about:tabcrashed.
  11. Увидеть в Browser Toolbox, что крэш-дамп автоматически улетел на crash-reports.mozilla.com. И он содержит в себе URL упавшей вкладки (даже (!) если browser.tabs.crashReporting.includeURL = false) и еще кучу веселой информации, которую видно на вкладке Params в Network Monitor. (Также старые крэш-репорты можно посмотреть в ~/.mozilla/Firefox/Crash Reports.)

Я считаю этот баг критическим как для этого проекта, так и для самой идеи использования Firefox в качестве прайваси-ориентированного браузера. Ибо от такого бага вас никак не спасут содержащиеся в этом репозитории настройки (можете проверить, подставив prefs_1 - не поможет) - там отключено все что можно было, однако, как видим, оно включается само. А URL, по которому крэш-репортер отправляет репорты, зашит в исходники, и префами с ним ничего не сделаешь.

Этот баг - далеко не первый звоночек (а скорее последняя соломинка) - в течение всего 2017 года Мозилла как будто нарочно пыталась дискредитировать себя - то обещания собирать адреса посещаемых сайтов, то подсовывание немецким пользователям adware от Cliqz прямо вместе с установщиком браузера, а также рассуждениями разработчиков о том, как бы это сделать тайком, иначе ведь юзеры увидят надпись "Cliqz" и не будут качать эту широко известную в Германии адварь. И наконец предпоследний инцидент с аддоном Looking Glass - в котором тоже, кстати, по сообщениям некоторых людей были замешаны "случайно" включающиеся сами собой настройки.

Итак, раньше основной идеей, которой мы руководствовались, было то, что все мол можно отключить. Теперь это не так. Теперь мало того что Мозилла пихает все больше и больше дряни в Firefox, так эта дрянь еще и "случайным" образом включается сама и для какой-либо уверенности конфигов уже не хватает - нужно компилировать Firefox, вырезая все из исходников. То есть, как бы ни печально было это признавать, Мозилла таки сумела превратить Лису в Хром, переняв его самые худшие черты.

Принимая во внимание все это, я не вижу, как можно продолжать доверять Мозилле и с чистой совестью рекомендовать другим людям использовать Firefox. А также не вижу смысла в рекомендациях из нашего репозитория - со своей задачей они больше не справляются.

Что делать дальше - неясно. Думаю, нужно рассматривать какие-то альтернативные варианты. Хотелось бы услышать и ваши мысли. Мне на ум приходит только Tor Browser. (Ибо все остальные форки Firefox не являются серьезными проектами и не имеют перспектив по очевидным причинам.)

К дискуссии приглашаются все контрибуторы и прочие заинтересованные люди. Особенно: @dartraiden @KOLANICH @leedoyle @soredake

leedoyle commented 6 years ago

https://www.opennet.ru/opennews/art.shtml?num=49073 Включают телеметрию с отправкой урлов для приватных вкладок.

dartraiden commented 6 years ago

Не отправку урлов, а отправку числа урлов и числа доменов. И сразу новость не такая бомбезная, да? :)