Здравствуйте, дорогие хабровчане. Я давно уже хотел изучить результаты программы Яндекс 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 раз, количество багов, которые он нашёл ещё больше (хотя как мы знаем, Яндекс далеко не всегда за них платит).

  1. Сергей - 51

  2. nn9899 - 38

  3. Deepak Kivande - 38

  4. pyrk1 - 31

  5. amlnspqr - 30

  6. Thomas Anderson - 28

  7. fle_xxx - 24

  8. xsstestov - 22

  9. h3llwish - 22

  10. Karim Valiev - 22

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

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

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

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

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

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

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

Комментарии (7)


  1. 13werwolf13
    08.04.2024 04:25

    яндекс навигатор. горизонтальный layout, включаем музыку внутри навигатора. при остановке авто рекламный банер перекрывает собой элементы управления плеером. баге уже не один год, яндексу насрать..


    1. tokohana
      08.04.2024 04:25
      +1

      ну с виду, не похоже на крит)

      ресурсов на все не хватит даже у Яндекса, поэтому с чем-то они готовы жить в проде


      1. 13werwolf13
        08.04.2024 04:25
        +1

        просто наверное надо подойти к раздуванию как желтушники:

        СЕНСАЦИЯ, РАЗРАБОТЧИКИ ИЗ ЯНДЕКСА НАМЕРЕННО ЗАСТАВЛЯЮТ ВОДИТЕЛЕЙ ОТВЛЕКАТЬСЯ НА УПРАВЛЕНИЕ МУЗЫКОЙ ТОЛЬКО ВО ВРЕМЯ ДВИЖЕНИЯ ПРЯЧА ЭТУ ФУНКЦИЮ ПРИ ОСТАНОВКЕ ДОКОЛЕ!!!!

        потому что уж простите меня но за пяток лет можно было найти секундочку на исправление


    1. TimurRyabinin
      08.04.2024 04:25

      Здравствуйте! Я из Яндекса. Подскажите, пожалуйста, адрес электронной почты, по которому мы сможем связаться с вами. Попробуем разобраться.


      1. 13werwolf13
        08.04.2024 04:25

        Отпишу в ЛС


        1. TimurRyabinin
          08.04.2024 04:25

          Спасибо, скоро коллеги свяжутся с вами.


          1. 13werwolf13
            08.04.2024 04:25
            +2

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

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

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

            как же нехватает яндексу такой банальной вещи как публичная багзилла.. просто позор.