Лучшее время для Яндекс BugBounty
Здравствуйте, дорогие хабровчане. Я давно уже хотел изучить результаты программы Яндекс BugBounty. Вот, наконец руки дошли. В этой простой и небольшой статье я рассмотрел доступные данные по ней, нашёл некоторые закономерности и вывел топ багхантеров. Если кому интересно, в каком квартале года больше всего отчётов об ошибках, или какой месяц самый лучший для их поиска, прошу под кат.
Не так давно, примерно полгода назад мне удалось попасть в зал славы Яндекс BugBounty, однако, ясное дело ничего мне за это не выплатили, ну хоть признали, что это был баг. Конечно, всё это я делал в надежде подзаработать и не потому, что я люблю деньги, нет — из принципа! — как верно заметил классик. К тому же, раз попал в зал славы, то это конечно почёт, о таком не стыдно и коллегам по работе рассказать за обедом.
Тем более, что в 2023 году Яндекс выплатил багхантерам 70 млн рублей, а в 2024 хочет выделить не менее 100 млн. Более того, самые крупные выплаты 2023 года — 12 млн, 7,5 млн и 3,7 млн рублей. Я бы сказал, звучит неплохо, осталось всего-то найти пару тройку хороших, жирных багов и дело в шляпе.
Попробуем увеличить свои шансы, суммы выплат прямо скажем завлекательные, бриллиантовый дым уже под потолком, жемчужные бусы катятся по столу и прыгают по полу… в общем, намёк понятен, ну, а вдруг повезёт, кто-то же сорвал банк, а мы ничем не хуже!
Первым делом, необходимо подробнее изучить данные с официального сайта программы. Нам доступно немного информации о багхантерах нашедших какой-то баг в сайтах/продуктах Яндекса за каждый месяц начиная с ноября 2014 года. Всё что нам известно это имя, аватар и ссылка на аккаунт багхантера, а также кто в какой месяц попал.
Расчёт статистики по годам
2014 и 2024 года не полные и не подходят для статистики, но данные за эти года нам пригодятся, когда нужно будет посмотреть на топовых багхантеров и подсчитать, сколько раз их добавляли в зал славы. Итого, общее количество записей, которое будет использовано в расчёте, начиная от 2015 и заканчивая 2023 равно 1358 штук, вернее даже сказать, это количество отправленных отчётов об ошибках от багхантеров, которые нашли не менее одного бага за месяц.
Первое, что приходит в голову — подсчитать количество этих отчётов по годам. Если рассмотреть график ниже, то можно заметить, что с начала программы их количество постепенно от года к году уменьшается, но начиная с середины опять возрастает. Тут можно предположить, что на старте внимание было выше, да и было найдено множество багов, которые были на поверхности. Со временем количество багов уменьшалось, а количество продуктов Яндекса росло, соответственно и количество найденных багов стало опять увеличиваться.
Особо много выводов от разбиения по годам не сделать, ну что же, можно зайти с другой стороны и разбить количество отправленных отчётов по месяцам.
Да, особо много тут тоже не видно, получилось очень уж подробно, разве что можно заметить, что большинство нулей приходятся на начала годов, а самые хлебные месяцы в концах.
Это уже интереснее, можно попробовать обобщить данные побольше и сгруппировать количество отчётов по кварталам года. Да, на графике ниже уже можно чётко заметить, что больше всего отчётов приходят во втором и четвёртом кварталах.
Действительно, за все 9 лет, что попали в исследование, максимумы были всегда в 4 и 2 кварталах. Можно предположить, что в первом квартале года выводят какую-нибудь фичу, во втором уже фиксят баги, не без помощи багхантеров. В четвёртом квартале года обычно спешат закрыть проекты, отсюда и количество ошибок.
Квартал | Количество максимумов |
4 | 5 |
2 | 4 |
Раз уж стало ясно, в каком квартале года больше всего шансов найти баг, то можно заодно и попробовать выбрать месяц с максимальным количеством отчётов за год и подсчитать количество таких месяцев, которые чаще всего становились максимумом по количеству отчётов. Ну, тут ничего удивительного, что первые три в топе месяца входят во второй и четвёртый кварталы, а именно, больше всего шансов найти баг в декабре, апреле и октябре.
Месяц | Кол-во максимумов |
Декабрь | 3 |
Апрель | 2 |
Октябрь | 2 |
Ну, раз такое дело, то можно заодно с другой стороны посмотреть, в каких месяцах исторически меньше всего шансов найти баг, судя по количеству минимумов отчётов, которые приходятся на них.
Январь — самый худший месяц, далее следуют апрель и май
Месяц | Кол-во минимумов |
Январь | 3 |
Апрель | 2 |
Май | 2 |
Апрель входит и в максимум и в минимум, однако однозначно можно сказать, что в начале года меньше шансов найти баг, январь худший месяц, а вот в конце года вероятность обнаружения увеличивается, декабрь самый лучший.
Рейтинг багхантеров.
И вот пришло время рассмотреть подробнее багхантеров.
За рассмотренный период с 2014 по 2024 года включительно в программе BugBounty нашли хотя бы одни баг достойный зала славы 542 багхантера. Думаю тут можно пренебречь тем, что кто-то зачем-то регистрировал баги с разных аккаунтов. В общем можно точно сказать, что уж овер 500 уникальных багхантеров точно есть.
Из них, если рассмотреть топ 10, появляются просто удивительные люди. Багхантер с первого места входил в зал славы аж 51 раз, количество багов, которые он нашёл ещё больше (хотя как мы знаем, Яндекс далеко не всегда за них платит).
Сергей — 51
nn9899 — 38
Deepak Kivande — 38
pyrk1 — 31
amlnspqr — 30
Thomas Anderson — 28
fle_xxx — 24
xsstestov — 22
h3llwish — 22
Karim Valiev — 22
Это конечно просто удивительно, на текущий момент из рассмотренных 113 месяцев программы топ багхантер вошёл в 51 из них. Другими словами он находит не менее одного бага приблизительно за два месяца. Точно можно сказать одно, как работают шестерёнки топовых багхантеров — это просто нечто. Я еле-еле нашёл один баг, думаю меня и в зал славы добавили, только потому, что был надоедливым и таким образом решили просто отмахнуться, а тут кто-то аж 51 раз там был!
Вспоминая про свою мотивацию искать баги, я кончено думал, что было бы неплохо перевоплотиться из Томаса А. Андерсона в Нео. Да вот только волшебной красной таблетки не существует, придётся упорно и много работать, такого в кино точно не покажут.
Однако не всё так плохо, ведь каждый месяц, как я верно прикинул в прошлой своей статье, в зале славы появляется какое-то число новых лиц, теперь можно их количество оценить точно по графику ниже.
В среднем новичков получается 38% от общего числа хантеров за месяц. Не думаю, что все эти люди обладают какими-то сакральными знаниями, которые доступны лишь избранным.
Тем более, не нужно думать, что ошибки, какие были на поверхности все до единой найдены и остались только сложные и труднонаходимые. Как верно гласит народная мудрость: «не ошибается тот, кто ничего не делает», а Яндекс делает много, и пока выводятся новые и изменяются старые продукты, баги будут, осталось только их найти.
Ссылка на исходный код github.com
Спасибо за внимание, удачи в поисках багов и конечно белой шляпы!