{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Вся история с Google Play и 2ГИС — наш post mortem

Мы уже рассказывали о произошедшем и получаем много вопросов от пользователей. Решили подробнейше разобрать ситуацию публично, рассказать все технические нюансы и дать максимум ответов. Материал будет интересен тем, кто любит углубляться в детали, и паблишерам приложений в Google Play, которые могут столкнуться с аналогичными трудностями.

Post mortem — это статья, написанная по следам крупного инцидента. Её цель — помочь предотвратить подобные ситуации в будущем.

Как всё обычно работает?

Ошибки в алгоритмах проверки — не редкость. Перед релизом в Google Play каждое приложение проходит проверку. И если систему проверки что-то смутило, то разработчик получает уведомление.

Решение проверки можно оспорить, прикрепив скрины или текстом объяснив модератору необходимость каких-то запросов или работу той или иной фичи или библиотеки. Как правило, именно такие шаги помогали нам решать большинство вопросов модерации.

Но 2ГИС нет в Google Play, и мы не можем получать и оспаривать перед релизом решения алгоритмов проверки. Поэтому сейчас мы разбираемся, что послужило причиной ошибочного срабатывания защиты.

Почему вообще Google Play Protect определил 2ГИС как «опасное» приложение?

Мы не знаем наверняка. Возможно, Google действует по простому алгоритму. 2ГИС нет в Google Play, значит, модерация может не иметь ссылку на политики конфиденциальности, которые выполняют ключевую функцию по регулированию работы с данными. Он не может задать нам уточняющие вопросы о запрашиваемых разрешениях и автоматически помечает 2ГИС как вредоносное.

Если смотреть список причин, из-за чего можно попасть в эту категорию spyware, к которой нас отнёс Google, то можно предположить только одну причину — чтение контактов и фото. Для остальных возможных причин у приложения нет прав. Оба этих действия мы делаем строго с согласия пользователя. Контакты используем для построения социального графа (отзывы и «Друзья на карте»), а фото — для добавления изображений к местам.

Разрешения запрашиваем не при запуске приложения, а непосредственно при действиях пользователя в конкретных фичах. Обе эти пермиссии существуют с нами давно.

Зачем вам permission на SMS и журнал звонков?

Мы не запрашиваем такие чувствительные пермиссии. В заблуждение вводит шаблонный текст от Google Play Protect.

Мы используем SMS Retriever API от Google, чтобы автоматически вводить одноразовый код из нашей же смски, когда вы регистрируетесь в 2ГИС по номеру телефона. То есть вам не нужно вручную вводить одноразовый код для 2ГИС, который вы получили в SMS.

В предупреждении об опасности Google Play Protect используется текст, в котором перечисляется всё обобщённо. Из-за этого может показаться, что 2ГИС якобы имеет доступ ко всем SMS и журналу звонков. Это не так.

Зачем вам моя фоновая геопозиция? Пермиссии ACCESS_BACKGROUND_LOCATION и ACTIVITY_RECOGNITION

В начале декабря мы выпустили фичу «Друзья на карте», сейчас ей активно пользуется несколько процентов аудитории — пользователи могут разрешать друг другу видеть, где они находятся. Самостоятельно приложение не может получить права фонового определения геопозиции. Чтобы 2ГИС получил доступ, пользователь сам должен перейти в настройки телефона и явно их выдать. Разрешение запрашиваем только при включении «Друзей на карте», оно необязательное и нужно только для тех, кто решил использовать фичу.

Вот как происходит её включение:

Запрос на отображение геопозиции в фоне отличается от запроса геопозиции для отображения вашего местоположения на карте — там мы не запрашиваем фоновую геопозицию.

Контакты. Зачем картографическому приложению permission READ_CONTACTS?

Для добавления друг друга в друзья и построения соцграфа. Друзья показываются на карте и в карточках мест, чтобы пользователи могли видеть мнения близких людей о ресторанах, парках или стоматологиях.

Пермиссия необязательная, запрашиваем только если пользователь сам хочет добавить в 2ГИС контакты для «Друзей на карте» или рекомендациях в отзывах.

Звонки. Что на счёт пермиссии CALL_PHONE?

CALL_PHONE используется для звонка в компанию напрямую из приложения без дополнительного перехода в системный дайлер («звонилку»). Эта пермиссия в приложении уже давно. Запрашиваем её непосредственно после тапа на номер телефона в карточке компании.

Доступ к микрофону? Permission RECORD_AUDIO

Для голосового ввода текста — эта функция есть во множестве популярных приложений. Например, чтобы за рулём быстро найти нужный адрес, не набирая его на клавиатуре. Запрашиваем разрешение в тот момент, когда вы активируете функцию голосового ввода.

Что говорит сам Google?

Пока ничего. Мы сразу отправили апелляцию, на статус всё ещё In progress. Обращения по другим каналам тоже остаются без внимания, в том числе обращение в Google Play Community, поддержанное нашей аудиторией (спасибо вам!).

Есть ли сейчас безопасная с точки зрения Google версия?

Свежая версия 6.31.0.535 свободна от предупреждений Google Play Protect. В ней мы удалили пермиссии, на которые теоретически мог ошибочно срабатывать Play Protect: android.permission.READ_CONTACTS, android.permission.CALL_PHONE, SMS Retriever API (это не пермиссия, но в ситуации недостатка информации решили тоже отключить).

Мы рекомендуем использовать её всем пользователям, чтобы не сталкиваться с предупреждениями.

Почему при самообновлении через 2ГИС от Google Play Protect всё равно появляется предупреждение на новую версию?

Версия 6.31.0.535 свободна от предупреждений Google Play Protect. Но обновиться на неё с предыдущей версии без предупреждения не получится — для Google Play Protect всё выглядит так, что «вредоносное ПО пытается поставить ещё одно приложение». И, конечно, пользователя об этом предупреждают. После обновления предупреждение перестаёт показываться.

А почему старые версии 2ГИС не помечают как«вредоносные»?

Мы не знаем. И по использованию данных, и по пермиссиям они одинаковы с harmful-версиями («вредоносными»).

Может быть проблема в новой фиче «Друзья на карте» по шарингу геопозиции?

Мы рассматриваем эту версию. Но против неё три аргумента:

  • Фича вышла в версии 6.29, на которую Google Play Protect не «ругается».

    (upd 16 января Google начал отправлять ошибочные уведомления для версии 6.29, но прежние два аргумента в силе)

    Более того, в первое время после появления проблемы эта версия была тихой гаванью, куда мы перенаправили все новые установки пользователей.
  • В новой версии 6.31.0.535 мы не удаляли эту фичу, а Google Play Protect перестал относить приложение к вредоносным и не видит больше проблем с безопасностью.
  • Для нарушений, связанных с отслеживанием местоположения у Google есть категория stalkerware, а не spyware, ошибочно присвоенная 2ГИС.

Если отобрать у 2ГИС все пермиссии, он останется работоспособным?

Да. Как и в случае, если не выдавать пермиссии — приложение будет работать с учётом ограничений.

Первый раз вижу чтобы Google Play Protect срабатывал на крупное известное приложение. 2ГИС первый?

Нет, 2ГИС не первый. Похожая история случилась с Samsung Wallet: обсуждение на reddit и в треде на форуме Google.

Все равно вам не верю, вы просто очень складно сочиняете. Google крупная компания, почему я должен верить вам?

Мы уверены, что произошла ошибка, и уверены в безопасности 2ГИС. Мы рассказываем подробно обо всём, что делаем в эти дни, аргументируя свои выводы. Мы прозрачны и не пытаемся завлечь вас обманом пользоваться 2ГИС. Если вы хотите получить ещё больше деталей — пишите нам, обязательно поделимся.

Что делать?

Вы можете обновиться на новую версию 6.31.0.535, которую Google Play Protect уже не помечает как вредоносное. Второй вариант: временно отозвать все разрешения 2ГИС в настройках устройства, если они нужны для функций приложения, которыми вы не пользуетесь.

Руслан Назаров, ведущий Android-разработчик

Антон Спиридонов, руководитель разработки

0
128 комментариев
Написать комментарий...
Nikolay S

Нормально объяснили. 2ГИС уважуха!

Ответить
Развернуть ветку
Андрей Сергеев

» Пермиссии

Мы вообще-то в России. В русском языке нет такого слова.

Ответить
Развернуть ветку
Чечёточник

Слова тролль тоже не было раньше. А вон, поди же ты - сидишь тут.

Ответить
Развернуть ветку
1 комментарий
Невероятный Блондин

Слова «разрешения» или «права доступа» видимо недостаточно технологично звучат.

Ответить
Развернуть ветку
12 комментариев
Евгений Расторгуев

Ну пермишнс звучит ещё глупее, ну а если прогеры постоянно сталкивающиеся с какой то частой в их работе проблеме решили дать ей некое конкретное название, значит так тому и быть)) можно в словарь вносить, как новый англицизм. А пытаться с помощью "фи" учить айтишников ещё глупее чем требовать от гопников не пить пиво ночью на лавке, в лучшем случае матом пошлют)

Ответить
Развернуть ветку
Sergey Kolomenkin

это ж термин

Ответить
Развернуть ветку
1 комментарий
Jon Rembo

Учитывая как работает служба проверки приложений у гугла, иногда достаточно просто отправить точно тотже релиз но с новой версией сборки.

Ответить
Развернуть ветку
Маэстро торговли

Подтверждаю. Прокатывало раз пять)

Ответить
Развернуть ветку
urivev

Почему из гугла удалили а в аппстор вернули? Вот это мне интереснее.

Ответить
Развернуть ветку
Анжела Д.

Две разные компании с несвязанными сторами, с независимыми правилами модерации в них. И в каждой свои процессы и своя реакция на происходящее.

Кажется, с 2ГИС случилось всё неклассное, что могло случится:( Лучи поддержки всем.

Ответить
Развернуть ветку
1 комментарий
BayunCat
«Друзья на карте», сейчас ей активно пользуется несколько процентов аудитории
Ответить
Развернуть ветку
Nikita

Хрен пойми, что людям нужно
Одни кричат о том, что расскажите, что произошло, давайте больше гласности
Вторые же, заводят телеку про "оправдание путь виновного"
С людьми на контакт идут, а люди "ГЫГЫГЫ ВЫ ПОМОЙКА"
Чего злые то все такие, с обеих сторон?

2ГИСу - сил и ума, чтобы поскорей разобраться со всем
Остальным - просто ума и доброты в сердце (ну и паранойи поменьше)

Ответить
Развернуть ветку
Александр А.

Когда-то я был фанатом 2ГИС, ещё во времена Symbian.

А сейчас даже не авторизоваться по почте, чтобы отзыв о фирме оставить.
Фу такое.

Ответить
Развернуть ветку
ATOMAN

наавторизуются фейканы, потом репутация в го*не. ну такое - не понимать этого.

Ответить
Развернуть ветку
6 комментариев
Александр А.

Самое наглое из виденных мной приложений - WhatsApp.

Оно просто отказывается работать, пока ему хотя бы один раз не дашь доступ к контактам.

Наглость и непринуждённость. Один раз приспичило - пришлось устанавливать у маленького сына, у него книга контактов пустая.

Ответить
Развернуть ветку
Vikarti Anatra

Вы еще WeChat не пробовали :).
Там за отказ выдать доступ к контактам может оказаться невозможным дальше продолжить регистрацию аккаунта на этот номер.

Ответить
Развернуть ветку
1 комментарий
Чечёточник
Ответить
Развернуть ветку
Ruslan Zorya

Гугл последнее время решил, что безопасный только он!

Ответить
Развернуть ветку
Василий Коротких

Просто тырить и пользовать данные он хочет в одну каску, это же бабло рекламное.

Ответить
Развернуть ветку
Дмитрий Бацман

Тот момент когда читал про проблему, а узнал про хороший аналог гугл контактов на карте. Тугис и тут обогнал красных.

Ответить
Развернуть ветку
Roman BL

Уже поздно. Теперь 10 раз подумаю прежде чем возвращать эту помойку обратно в свой телефон.

Ответить
Развернуть ветку
Aina Timo / wdroid.net
Из-за этого может показаться, что 2ГИС якобы имеет доступ ко всем SMS и журналу звонков. Это не так.

Это разрешение действительно дает доступ ко всем SMS.

Ответить
Развернуть ветку
Dmitry Tumashev

Нет у 2гис таких разрешений

Ответить
Развернуть ветку
10 комментариев
Sergey Kolomenkin

Подскажите, где можно чуть подробнее почитать?

Ответить
Развернуть ветку
Alex

Мне почему-то кажется что 2гис прогнулся под структуры власти и силовиков. Какой-то шпионский код был добавлен в приложение как раз незадолго до мартовских выборов. Возможно фсб будут использовать инфраструктуру 2гис для своих каких-то операций по выявлению протестующих и прочее. То как они оправдываются выглядит забавно.

Ответить
Развернуть ветку
Маджид Гаджиев

А ничего что протестующие уже давно релоцировались?
Конспиролог, впрочем, вы годный.

Ответить
Развернуть ветку
1 комментарий
Петр П

У Google очень плохой по качеству ревью даже в самом сторе: протащить мимо него можно любую скрытую функциональность, если она не требует разрешений из черного списка (включая ее через его же remote config, проверено), полагать что Play Protect работает как-то иначе было бы наивно.

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

Ответить
Развернуть ветку
Nikita

Я думаю, что если к ЛЮБОЙ компании в РФ придёт правительство - никому не отвертеться, вне зависимости от полит позиции и отношению к правительству

Ответить
Развернуть ветку
J D

Есть опасность для владельцев приложений - Google может тихо удалять приложения с устройства.
Google Earth например не было в ru GP. Если скачать и установить apk из стора где есть, то после установки через какое-то время приложение удалится.Никаких дополнительных предупреждений, сообщений и прочего. Вариант - ставить с исправленным bundle ID.
Т.е. механизм тихого удаления есть, когда и как корпорация не-добра захотят использовать для чужих приложений вопрос.

Ответить
Развернуть ветку
Jon Rembo

Это при выключенном автообновлении?

Ответить
Развернуть ветку
1 комментарий
Виктор Михалев

молодцы 2ГИС, хорошо работаете с аудиторией, спасибо. а я сразу решил, что это гугл вредничает и просто забил на уведомление :-) уже больше 15 лет пользуюсь сервисом

Ответить
Развернуть ветку
Доктор Шкутко

Бесконечно можно смотреть как подсанкционные конторы пытаются выщемится в сторы

Ответить
Развернуть ветку
Евгений Расторгуев

Вы в суть плохо вникли - всё чётко наоборот - их то там как раз в сторах уже давно нет, а проблема куда неприятнее для айти, чем на первый взгляд - переживвют не из-за того, что не могут не залезть в карман поглубже, а из-за того, что тупо не отхватили жесткую антирекламу непосредственно на самом товаре, причём массово, считай, репутация просела минимум раза в два, просто одним кликом какого то болвана из силикоидной лрлины, а назад эту самую репутацию вернуть будет крайне сложно.
По моему это конкретная провокация и беспредел. То есть, на многих из нас сейчас американцы испытали возможность без каких либо усилий залезть в голову. И эта мелочь для нас всех кажется, а уже скандал, хоть и местечкового уровня, а если они просто в какой то момент воспользуются и в полную силуа, то ест фактически, бэкдором ко всем смартфонам на андроиде в мире ?

Ответить
Развернуть ветку
4 комментария
Vikarti Anatra

Так они не особо пытаются.
Просто кое для кого приложение не из системного стора - подозрительно по определению.

Ответить
Развернуть ветку
1 комментарий
Андрей Ильин

1) 2гис = уроды. Щас расскажу.
Вот мой магазин в 2ГИС.
https://2gis.ru/kaluga/search/часы/firm/8585515070657787
Всякий раз перед очередным праздником вношу изменения режима работы в яндекскарты и гуглкарты, и пытаюсь то же самое сделать в 2гис. Ан нет! - функция не реализована.

2) Вывод из п.1: Вы самоубийцы, уже давно. А ведь когда-то лидировали по информативности во всех провинциях, особенно за Уралом.

3) Итого. Помер Максим, ну и фиг с ним.

Ответить
Развернуть ветку
Галина Кочунова

В личном кабинете можно скорректировать

Ответить
Развернуть ветку
Василий Коротких

2гис - хочу чтоб можно было несколько точек маршрута задавать и тусовать их туда-сюда.

Ответить
Развернуть ветку
Александр Жгунов

Давно есть. При построении маршрута можно нажать зайти и хоть 10 промежуточных точек добавить и менять их местами.

Ответить
Развернуть ветку
Aina Timo / wdroid.net

https://developer.android.com/reference/android/Manifest.permission#RECEIVE_SMS
Но, пожалуй, это вам ваши коллеги, получающие ЗП, должны подсказать.

Ответить
Развернуть ветку
Горделивый Сербский Патриот

Этот permission и SMS Retriever API, который использует 2ГИС, связаны между собой чуть менее чем никак

Ответить
Развернуть ветку
2 комментария
Alexander Zheleznov

Проходили через такое. Мы делали сервис для родительского контроля по определению местоположения без использования интернета, через смс. Через пару месяцев после внедреня этой киллерфичи из Play нас выпилили к херам. И еще добавили плашку: опасное приложение с вирусом!
Апеляции не помогли.

Похоже, приложения которые умеют читать смс в фоне попадают в базу вредоносного ПО. Чтобы не попасть в такую ситуацию, лучше заранее писать в редакцию проверки Play.

Ответить
Развернуть ветку
Алексей Прасковьин
Похоже, приложения которые умеют читать смс в фоне попадают в базу вредоносного ПО

Даже не догадываюсь, с чего бы это. С учетом распросранения смс-авторизации, например...

Ответить
Развернуть ветку
1 комментарий
Alex Nosov

А можете как-то сделать чтобы ваше приложение нормально в фоне на андроиде работало? Вот люто бесит когда что-то ищешь, потом переходишь в окно другого приложения, через пару минут возвращаешься в 2Гис, а оно заново загрузилось сбросив все, что успел найти. У Яндекс Карт такой фигни нет. Там возвращаешься в окно их приложения и только геопозиция подгружается, все остальное сохраняется как было до перехода в другое окно.

Ответить
Развернуть ветку
Vlad Ig

Пора уже смарт с 6 ГБ ОЗУ. У вас наверно 1-2 ГБ.

Ответить
Развернуть ветку
9 комментариев
Anastasia

проверьте в настройках устройства, даны ли для 2ГИС разрешения работать в фоне

Ответить
Развернуть ветку
1 комментарий
Abnatop Sky
Почему вообще Google Play Protect определил 2ГИС как «опасное» приложение? Мы не знаем наверняка.

https://www.youtube.com/watch?v=HYRbclFVyws

Ответить
Развернуть ветку
Abnatop Sky

Ваше "приложэние" - до сих пор определяется смартфоном как ОПАСНОЕ.
ОДНО ПРИЛОЖЕНИЕ ИЗ БОЛЕЕ ЧЕМ 50.
.
https://www.youtube.com/watch?v=sACj_1UG4UQ

Ответить
Развернуть ветку
Anastasia

на новое обновление не ругается, обновитесь через официальный сайт или рустор

Ответить
Развернуть ветку
8 комментариев

Комментарий удален модератором

Развернуть ветку
Perez

Поздно... оправдание путь виновного. Я рад что избавился от вашей ерунды на телефоне, дополнительно сбросив настройки.

Ответить
Развернуть ветку
Игорь

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

PS. и "пермиссии" это конечно высшая степень дебилизации русского языка

Ответить
Развернуть ветку
Vyacheslav Koshcheyev
Если отобрать у 2ГИС все пермиссии, он останется работоспособным? Да.

Ну, формально да, а по факту - не очень. Карту без геопозиции, конечно, можно использовать, но как-то очень уж неудобно.
Это так, замечание из разряда буквоедства.

Ответить
Развернуть ветку
Anton Spiridonov
Автор

Тем не менее небольшая часть аудитории именно так и пользуется. Мы всегда удивлялись, как люди это делают, но поискать адрес или посмотреть проезд вполне можно

Ответить
Развернуть ветку
2 комментария
Андрей

Может тогда подскажите, а "requestLegacyExternalStorage" вам зачем был нужен?

Ответить
Развернуть ветку
Андрей Кожевников

External storage используется

1. Как костыль на старых телефонах — без него на некоторых устройствах слетает доступ к файлам на внешней SD-карточке.

2. Для доступа к загрузке фоток на старых Андроидах (на которых нет более нового варианта — READ_MEDIA_IMAGES)

Ответить
Развернуть ветку
Monkey Do
Ответить
Развернуть ветку
Manga TV

СМС в фоне это жесть, уберите и не позорьтесь

Ответить
Развернуть ветку
Sergey Kolomenkin

смс в фоне?

Ответить
Развернуть ветку
7 комментариев
Avramov

Почему же

Ответить
Развернуть ветку
Yuriy Klyuch

пермиссии, перверсии...

Ответить
Развернуть ветку
VIPAVTODRIVER

Удалили компанию из справочника за отказ от рекламы

Ответить
Развернуть ветку
125 комментариев
Раскрывать всегда