Лучшее время для Яндекс BugBounty

47a2bce2f5ab5c767086bff225798e27.png

Здравствуйте, дорогие хабровчане. Я давно уже хотел изучить результаты программы Яндекс BugBounty. Вот, наконец руки дошли. В этой простой и небольшой статье я рассмотрел доступные данные по ней, нашёл некоторые закономерности и вывел топ багхантеров. Если кому интересно, в каком квартале года больше всего отчётов об ошибках, или какой месяц самый лучший для их поиска, прошу под кат.

Не так давно, примерно полгода назад мне удалось попасть в зал славы Яндекс BugBounty, однако, ясное дело ничего мне за это не выплатили, ну хоть признали, что это был баг. Конечно, всё это я делал в надежде подзаработать и не потому, что я люблю деньги, нет — из принципа! — как верно заметил классик. К тому же, раз попал в зал славы, то это конечно почёт, о таком не стыдно и коллегам по работе рассказать за обедом.

Тем более, что в 2023 году Яндекс выплатил багхантерам 70 млн рублей, а в 2024 хочет выделить не менее 100 млн. Более того, самые крупные выплаты 2023 года — 12 млн, 7,5 млн и 3,7 млн рублей. Я бы сказал, звучит неплохо, осталось всего-то найти пару тройку хороших, жирных багов и дело в шляпе.

Попробуем увеличить свои шансы, суммы выплат прямо скажем завлекательные, бриллиантовый дым уже под потолком, жемчужные бусы катятся по столу и прыгают по полу… в общем, намёк понятен, ну, а вдруг повезёт, кто-то же сорвал банк, а мы ничем не хуже!

Первым делом, необходимо подробнее изучить данные с официального сайта программы. Нам доступно немного информации о багхантерах нашедших какой-то баг в сайтах/продуктах Яндекса за каждый месяц начиная с ноября 2014 года. Всё что нам известно это имя, аватар и ссылка на аккаунт багхантера, а также кто в какой месяц попал.

Расчёт статистики по годам

2014 и 2024 года не полные и не подходят для статистики, но данные за эти года нам пригодятся, когда нужно будет посмотреть на топовых багхантеров и подсчитать, сколько раз их добавляли в зал славы. Итого, общее количество записей, которое будет использовано в расчёте, начиная от 2015 и заканчивая 2023 равно 1358 штук, вернее даже сказать, это количество отправленных отчётов об ошибках от багхантеров, которые нашли не менее одного бага за месяц.

Первое, что приходит в голову — подсчитать количество этих отчётов по годам. Если рассмотреть график ниже, то можно заметить, что с начала программы их количество  постепенно от года к году уменьшается, но начиная с середины опять возрастает. Тут можно предположить, что на старте внимание было выше, да и было найдено множество багов, которые были на поверхности. Со временем количество багов уменьшалось, а количество продуктов Яндекса росло, соответственно и количество найденных багов стало опять увеличиваться.

4ea44dee2ff388538bee9afed801fcdb.png

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

f4a09e6f8947fefd0fd518a291e0553d.png

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

Это уже интереснее, можно попробовать обобщить данные побольше и сгруппировать количество отчётов по кварталам года. Да, на графике ниже уже можно чётко заметить, что больше всего отчётов приходят во втором и четвёртом кварталах.

4e7e3a221d2297c0f3ac5aa23d5df5b3.png

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

Квартал

Количество максимумов

4

5

2

4

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

Месяц

Кол-во максимумов

Декабрь

3

Апрель

2

Октябрь

2

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

Январь — самый худший месяц, далее следуют апрель и май

Месяц

Кол-во минимумов

Январь

3

Апрель

2

Май

2

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

Рейтинг багхантеров.

И вот пришло время рассмотреть подробнее багхантеров.

За рассмотренный период с 2014 по 2024 года включительно в программе BugBounty нашли хотя бы одни баг достойный зала славы 542 багхантера. Думаю тут можно пренебречь тем, что кто-то зачем-то регистрировал баги с разных аккаунтов. В общем можно точно сказать, что уж овер 500 уникальных багхантеров точно есть.

Из них, если рассмотреть топ 10, появляются просто удивительные люди. Багхантер с первого места входил в зал славы аж 51 раз, количество багов, которые он нашёл ещё больше (хотя как мы знаем, Яндекс далеко не всегда за них платит).

  1. 7f52aaf09919e3f92be50aaf0a8141a3.pngСергей — 51

  2. fc181330080dc5d2c05fc73ecb7988d7.pngnn9899 — 38

  3. 99df3094e6d77e59d2604e6ef28ca7ab.pngDeepak Kivande — 38

  4. ed1eab6b2e7c1fc98f96b32f97f1974f.pngpyrk1 — 31

  5. 980a0d97fc5cc0f0630abb9d8ac71409.pngamlnspqr — 30

  6. ff81aa196f9d576489ad5e96a8b3c082.pngThomas Anderson — 28

  7. 8a971611556a3bf2382f033de541adf4.pngfle_xxx — 24

  8. 350d0eb5258e8e096b55ae325b74b1b9.pngxsstestov — 22

  9. f91aace73c227d3f0742e8db40cf05c6.pngh3llwish — 22

  10. 5b259399bc73f9c3af2c10b857d65655.pngKarim Valiev — 22

Это конечно просто удивительно, на текущий момент из рассмотренных 113 месяцев программы топ багхантер вошёл в 51 из них. Другими словами он находит не менее одного бага приблизительно за два месяца. Точно можно сказать одно, как работают шестерёнки топовых багхантеров — это просто нечто. Я еле-еле нашёл один баг, думаю меня и в зал славы добавили, только потому, что был надоедливым и таким образом решили просто отмахнуться, а тут кто-то аж 51 раз там был!

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

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

55e0b93412371fef58c7b50ece122319.png

В среднем новичков получается 38% от общего числа хантеров за месяц. Не думаю, что все эти люди обладают какими-то сакральными знаниями, которые доступны лишь избранным. 

Тем более, не нужно думать, что ошибки, какие были на поверхности все до единой найдены и остались только сложные и труднонаходимые. Как верно гласит народная мудрость: «не ошибается тот, кто ничего не делает», а Яндекс делает много, и пока выводятся новые и изменяются старые продукты, баги будут, осталось только их найти.

Ссылка на исходный код github.com

Спасибо за внимание, удачи в поисках багов и конечно белой шляпы!

© Habrahabr.ru