Pull to refresh

Эксперты оценили в первом приближении публикацию исходного кода из внутренних Git-репозиториев «Яндекса»

Reading time4 min
Views33K


Эксперты оценили в первом приближении публикацию исходного кода из внутренних Git-репозиториев «Яндекса».

Архив размером 44.71 ГБ включает срезы Git-репозиториев «Яндекса» с исходным кодом 79 сервисов и проектов компании, среди которых поисковый движок (фронтенд и бэкенд), бот индексации страниц, платформа web-аналитики Yandex Metrika, картографическая система Yandex Maps, голосовой помощник «Алиса», информационная система службы поддержки, Yandex Phone, рекламная платформа Yandex Direct, почтовый сервис Yandex Mail, хранилище Yandex Disk, сеть доставки контента, торговая площадка Yandex Market, бизнес-сервисы Yandex360, облачная платформа Yandex Cloud, платёжная система Yandex Pay, «Яндекс Поиск», «Яндекс Метрика», «Яндекс Такси», «Яндекс Путешествия», «Яндекс 360» и внутренняя система диагностики Solomon.

Анализ данных из архива показал, что:

  • утекли исходники почти всех продуктов. Там есть и «Почта», и «Такси», и «Диск», и «Алиса». Вряд ли эти исходники кто-то сможет использовать напрямую, этого точно не стоит бояться;
  • пользовательских данных, в первом приближении, там нет. В том смысле, что это именно исходники, конфиги, но не базы данных;
  • часто утечка исходников сильно вредит безопасности продукта, потому что там бывают захардкоженные секреты и простые уязвимости. На первый взгляд, здесь этого тоже нет, по крайней мере, в сравнении с масштабом утечки. Секреты не хранятся в коде напрямую, а подтягиваются откуда-то ещё — это очень правильно, так и нужно всегда делать;
  • в архиве были настройки групп доступа (ACL) к внутренним ресурсам с никами пользователей. Эксперты считают, что многие из сотрудников используют те же ники, что и в соцсетях и в адресе рабочей почты, что грозит фишинговыми атаками;
  • очень много самописных внутренних инструментов, много документации. Интересно для изучения, чтобы понимать, как работают большие компании и их IT-инфраструктура. Кажется, что в Яндексе есть сильный перевес в пользу «напишем сами» даже тогда, когда другие компании обошлись бы опенсорсом;
  • интересен репозиторий Security. Там тоже внутренние инструменты, всевозможные сканеры, разбиралки тикетов, всё на достаточно продвинутом уровне;
  • «Яндекс» массово использует Telegram в качестве рабочего мессенджера. В файлах есть куча ссылок на чатики в телеграме, по которым можно было прийти и вступить. Сразу после новости о публикации кодов большую часть из них подчистили, но не все. Использование Telegram — большая проблема и боль для безопасности. Правильный выход — это, конечно, использование корпоративного мессенджера с полным запретом личных. Но у них тоже есть свои недостатки, телеграм просто очень удобный. В «Яндексе» используют специального Telegram-бота, которого добавляют в чатики, и он следит, чтобы там не было чужаков. Но понятно, что работает это только в тех чатиках, куда бота не забыли добавить;
  • В репозитории «Алисы» тоже много интересного. Именно самой говорящей модели «Алисы» вроде нет, но есть много разных скриптов для её обучения, фрагментов обучающих данных и т.п. Есть выборки реальных (анонимных) запросов пользователей к «Алисе», очень интересные;
  • В репозитории «Почты» есть код, который занимается разметкой данных из писем. В том числе, анализируются письма с подписками на разные онлайн-сервисы, письма с чеками. Зачем именно — неясно. Возможно, «Яндекс» так мониторит конкурентов по рынку;
  • подход с «монорепой», когда весь код большой компании лежит в одном большом репозитории, имеет и свои плюсы и минусы. Когда много сотрудников имеют доступ сразу ко всему, с одной стороны, это очень удобно, а с другой, — утечка становится вопросом времени. Надо быть к ней готовыми;
  • данных очень много, это всё ещё только предстоит изучать;
  • что делать «Яндексу»? Да ничего, выпустить пресс-релиз, что исходники старые, данные пользователей в безопасности, взлома не было, виноват инсайдер. Ну и старательно найти и инвалидировать все секреты;
  • можно ещё сделать красивый жест, выложить официально в опенсорс часть внутренних инструментов и библиотек компании. Хуже уже точно не будет, а лучше будет.

Комментарий бывшего сотрудника компании:

Вроде же сто раз уже все обсуждали, что в Я весь код лежит в монорепе (так называемая Аркадия), которая является чем-то средним между SVN и git (ближе к первому, с фишками второго). Вытащить весь код — вопрос одной команды. Read-only режим доступен всем разработчикам.

Политика эта полностью правильная, потому что позволяет быстрее, эффективнее и гибче разрабатывать код, а при воровстве кода все равно непонятно, что с ним делать. Датасеты, данные и прочие вещи с кодом рядом не лежат, а посмотреть как SharedPtr в либке STL от Яндекса сделан — спорная ценность. Как уже давно бывший сотрудник Яндекса могу сказать, что самое ценное в компании — это люди и их очень крутая экспертиза. Наиболее крутые и готовые к миру продукты Яндекс и без того в open source выкладывает (ClickHouse, userver и т.д.), а разбираться (да еще и без инфраструктуры, под которую этот код заточен) в том, как джейсоны из сервисы в сервис перекладываются — это такое себе.

Так что не думаю, что это какой-то существенный урон нанесет (мало того, думаю, кому очень все это надо было, уже давно получили).



26 января 2023 в сети появились исходные коды и сопутствующие им данные множества сервисов и программ компании «Яндекс». Раздача содержит отдельные архивы (.tar.bz2), по названиям которых можно идентифицировать соответствующие сервисы «Яндекса». Общий объём архивов (в сжатом виде) составляет более 44,7 ГБ.


Разработчик Арсений Шестаков пояснил, что в архиве есть только содержимое репозиториев git, персональные данные отсутствуют. Там несколько ключей API, но они, скорее всего, использовались только для тестового развёртывания. Некоторые из архивов содержат исходный код для части сервисов компании, а также документацию, указывающую на реальные URL-адреса интрасети.


«Яндекс» подтвердил Хабру публикацию старых исходных кодов части проектов из внутреннего репозитория. Хакеры выложили архив в открытый доступ и утверждают, что в июле 2022 года скачали исходные коды проектов компании, кроме правил антиспама.
«Никакого взлома Яндекса не было. Служба безопасности Яндекса обнаружила в открытом доступе фрагменты кода из внутреннего репозитория. Однако их содержимое отличается от текущей версии репозитория, которая используется в сервисах Яндекса.

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

— сообщили Хабру в пресс-службе компании.



В «Яндексе» не увидели какой-либо угрозы для данных пользователей или работоспособности платформы после утечки исходного кода из внутреннего репозитория компании. Источник из «Яндекса» пояснил Хабру, что фрагменты исходного кода попали в открытый доступ по вине одного из сотрудников компании.
Tags:
Hubs:
Total votes 23: ↑22 and ↓1+28
Comments52

Other news