Факторы ранжирования Яндекс (Y-Factors Formula) от утечки кода поисковика
Яндекс, российский технологический гигант, недавно стал жертвой хакеров, опубликовавших более 40 ГБ исходного кода компании. Компания отрицает, что ее взломали.
Независимо от того, были ли они взломаны, у многих возникает интересный вопрос: «Что внутри?»
Утекшие источники упакованы в отдельные компоненты, такие как аналитика, облако, портал и так далее. Имея в виду, что компьютерные программы содержат только текстовые файлы, более 40 ГБ составляют довольно много строк кода (LoC). На самом деле я попросил ChatGPT ответить:
Сколько строк кода составляет 40 ГБ?
Трудно определить точное количество строк кода, составляющих 40 ГБ, без дополнительной информации о конкретных языках программирования и используемых методах кодирования. Однако стоит отметить, что количество строк кода напрямую не соответствует размеру программы или файла, поскольку на размер могут влиять такие факторы, как комментарии к коду, пробелы и объем хранилища данных. Кроме того, 1 Гб эквивалентен 1000 МБ, а 40 Гб — 40 000 МБ. Если мы предположим, что средняя строка кода составляет около 150 символов, 40 000 МБ составляют примерно 40 000 000 000 символов. Таким образом, 40 000 000 000/150 — это примерно 266 666 666 строк кода.
Это ~ 266 миллионов. Даже для технического гиганта это много кода. Для сравнения, операционная система Linux имеет около 15 миллионов LoC, Windows 11 — около 50 миллионов LoC, а кодовая база Google — около 2 миллиардов LoC, по данным Wired .
Меня заинтересовал алгоритм поиска Яндекс и вот что удалось найти.
Это файл с описанием различных правил ранжирования:
Factor {
Index: 1921
CppName: "FI_HOST_VIDEO_DISTRIBUTOR_PROD"
Name: "HostVideoDistributorProd"
Ticket: "SEARCHSPAM-15473"
Tags: [TG_HOST, TG_STATIC, TG_OFTEN_ZERO, TG_L2, TG_NN_OVER_FEATURES_USE]
Description: "хост содержит видео защищаемых анти-пиратским меморандумом."
Authors: "burmisha"
Responsibles: ["burmisha", "bikulov"]
ImplementationTime: "2020-08-06"
}
Содержащий более 23 253 строк. Есть и ещё файл по которым сегодня специалисты по SEO пытаются делать выводы.
Всегда трудно сказать, является ли утечка исходного кода реальным или нет. Все файлы в архивах имеют дату 24 февраля 2022 года. «Хакер» утверждает, что данные были скачаны ими в июле 2022 года, а ссылку на файлы они выложили 25 января 2023 года. сделать это публичным? Возможно, хакер сначала пытался продать данные в дарквебе или требовал выкуп от Яндекса — кто знает?
Изучив исходные коды, носители и файлы конфигурации различных модулей, мы должны предположить, что утечка содержит реальные данные. Немыслимо создавать такое количество вещей просто для удовольствия. Однако, поскольку явного источника бизнес-логики нет, можно сделать вывод, что утечка содержит урезанную версию репозиториев программного обеспечения Яндекса.
Яндекс уже сделал оф. заявление, что типа это не был взлом. Это кто-то внутри сделал. В общем, найдут и побьют жулика этого :)
А по поводу алгоритмов, всегда говорит, там много параметров, как на кофейной гуще гадать. Лучше делать сайт (как советует сам Яндекс) для людей, чем заниматься ерундой и подгонять сайт под поисковые системы, надуманные представления, как работает Яндекс.
Файл залил сюда, достаточно посмотреть небольшой кусок конфига этого. А там файлов много таких.
Было интересно мне посмотреть на Инфраструктуру.
Она содержит несколько сотен файлов «.yaml». Этот тип обычно используется для настройки. В случае с модулем такси (что смотрел) он используется для описания конечных точек API и их допустимых кодов возврата. Так что это снова может быть интересно для исследователей, потому что файлы yaml дают представление о конечных точках веб-службы.