«Сейчас нам очень стыдно»: что уже известно из утечки кода «Яндекса»
Масштабная утечка исходного кода сервисов «Яндекса» наделала много шума в индустрии. Эксперты и аналитики публикуют новые детали, которые позволяют понять, как устроен крупнейший российский поисковик и работа сервисов компании. Например, уже стало понятно, как происходит цензура поисковой выдачи. Разбираемся, что известно об утечке на данный момент.
Пользователи нашли в сети почти 45 Гб исходного кода из внутреннего репозитория крупных сервисов «Яндекса», в том числе Search Engine and Indexing Bot, «Карты», «Такси», «Директ», «Почта», «Диск», «Маркет», «Путешествия», «Яндекс360», Yandex Cloud, платежный сервис Yandex Pay и поиск. Одним из первых обратил на это внимание пользователь Twitter Dmitry Balakov, затем появился пост об утечке. Механизм утечки доподлинно неизвестен, однако источники утверждают, что это случилось не по вине хакеров, а из-за действий сотрудников компании.
В архиве на всех файлах выставлена дата последней модификации — 24.02.2022, но по косвенным признакам можно понять, что самые поздние изменения были внесены в конце июля 2022 года. Сам автор публикации с архивом утверждает, что получил к нему доступ в июле 2022 года. Сразу возник вопрос, какая часть кода оказалась в открытом доступе. Изначально в компании заявили о «фрагментах кода». Однако, по мнению технического директора Hack The Publisher Арсения Шестакова, речь идет о значительной части серверного кода сервисов компании.
«Яндекс» объявил о первых результатах расследования утечки. Компания подтвердила, что опубликованный код действительно был взят из внутреннего репозитория. «Яндекс» утверждает, что утекла устаревшая версия и безопасности пользователей инцидент не угрожает. Однако после утечки провели масштабный аудит всего содержимого репозитория и нашли несколько серьезных нарушений.
Например, в коде содержатся данные некоторых партнеров (водителей). Некоторые части кода содержали слова, которые никак не влияли на работу сервисов, но были сами по себе оскорбительные для людей разных рас и национальностей. Иногда логику работы сервисов корректировали не алгоритмическим способом, а костылями. Через такие костыли исправляли отдельные ошибки системы рекомендаций и регулировали настройки поиска по картинкам и видео.
Что еще известно из утечки кода:
- Код «Яндекс Лавки» позволял вручную настраивать рекомендации любых товаров — без пометки о том, что это реклама.
- Фрагменты из сервисов «Еда» и «Такси» показали, что некоторые группы пользователей получали «приоритетную поддержку».
- Микрофон колонки «Алиса» может включаться «без спроса» и незаметно для пользователя. В бета-версии есть настройка, включающая микрофон устройства на несколько секунд в случайный момент. «Яндекс» утверждает, что этот тестовый алгоритм использовался только внутри компании для проверки корректности работы сервисов.
- Пользователь @bantg заметил, что поиск фото и видео был скорректирован, чтобы изображения Путина и символы Z не появлялись в неприятных контекстах. На фото российского президента нельзя наткнуться по запросам «плешивый», «главный вор» или «бункерный дед». Эти правила должны применяться вне зависимости от того, в какой стране находится пользователь.
- При запросе «символ Z» или «z спецоперация логотип» пользователь не должен был увидеть нацистскую символику. В случае с Путиным программа должна блокировать изображения президента. В случае с Z программе приходится искать «запрещенные» символы, что сделать сложнее.
- Сейчас в поиске удается найти изображения Путина по всем запросам, также при запросе Z встречается свастика. Неизвестно, когда появились эти правила и действуют ли до сих пор: связано ли это с тем, что фильтр уже выключен или просто плохо работает.
- В утечке можно найти списки запрещенных и разрешенных слов для использования в капче. Например, есть слова «пиндосы!», «смерть», «смертью», «google», «львов» и «сдаться». Они не отсортированы по алфавиту, скорее всего, отдельные новые запретные слова или списки записывали в конец файла.
Search Engine Land сообщает, что в сети можно обнаружить список из 1922 факторов ранжирование поисковика «Яндекса». В числе учитываемых при поисковой выдаче алгоритмов есть «вес» страницы PageRank с учетом ссылок на нее, возраст ссылок, релевантность текста, свежесть контента, надежность хоста, число уникальных посетителей и процент «органического трафика».
244 фактора маркированы как неиспользуемые, 988 — как устаревшие. Это означает, что 64% факторов либо не применяются, либо заменены другими. По словам эксперта Майкла Кинга, на самом деле факторов намного больше — 17 854, каждый из которых добавляет либо положительный, либо отрицательный «вес» ресурсу. Утечка позволяет лучше понять, как работает не только поисковик «Яндекса», а поисковые системы вообще.
Компания извинилась за утечку и ошибки перед пользователями, а также пообещала возобновить работу по формированию стандартов и принципов техноэтики. «Они будут опубликованы на сайте компании и станут частью наших общих политик. Все фрагменты кода, которые им противоречат, будут исправлены», — сказано в сообщении. Кроме того, «Яндекс» создаст новую службу, которая будет отвечать за соответствие кода принципам и политикам компании. Данные из репозитория получат дополнительную защиту.
Для компании это в первую очередь репутационный удар, поскольку год назад уже происходила масштабная утечка пользовательских данных сервиса «Яндекс.Еда», которая произошла по вине сотрудника компании. Всего за прошлый год утекли данные 75% всех российских пользователей, передает DLBI. В сеть попало 99,8 миллионов уникальных адресов электронной почты и 109,7 миллионов уникальных номеров телефонов.
Утечка исходного кода не несет непосредственной угрозы пользовательским данным, но доступ к исходникам может упростить атаки на инфраструктуру компании. Кроме того, эксперты ожидают большего количества фишинговых атак, когда преступники выдают свои сайты за сайты «Яндекса». Скомпрометированными оказались и патенты, разработки и технологии компании.
В утечке могут оказаться и некоторые инструменты безопасности, например, плагины для пентестеровских утилит, которые компания создает сама. Злоумышленники могут с помощью этих плагинов провести атаки. «В коде, скорее всего, есть логины и пароли, которые „Яндекс“, если это правда, сейчас пытается экстренно закрыть, но если злоумышленники смогут их найти, то смогут их также слить, украсть, зашифровать и закрепиться в системе», — отмечает источник Forbes.
Читать на dev.by