Привет, Хабр!

Не так давно я влился в компанию «белых хакеров», и несмотря на то, что считаю себя в данной области «новичком» — за определённый период всё же почерпнул некоторый опыт, которым хочу поделиться с другими новичками, и, возможно получить какую‑то рецензию от «бывалых» на свою статью (кстати сказать — тоже первую).

Мое «поле»:

Платформа Bug Bounty:

Standoff365 (АО «Позитив Текнолоджиз»)

Выбранный объект исследования:

мессенджер MAX (Экосистема VK, разработчик: ООО «Коммуникационная Платформа»)

Вкратце о себе:
Я — не хакер. Однако 20-летний стаж самообучения всему, что связано с компьютерами, сетями, программированием, безопасностью и сопутствующим вопросам — полагаю, дают мне по праву назвать себя «IT‑эрудитом». Я могу предметно поспорить на различные увлекательные темы с дипломированным специалистом имеющим бОльший опыт и знания, написать какую‑то поделку на разных ЯП, проанализировать и подправить чужой код, сгенерировать идею по оптимизации/юзабилити, ну и сабж — поискать уязвимости в чьем‑то ПО. То бишь — я «в теме». В чем не шарю сегодня — начинаю разбираться завтра, методом гугления, вопросов и ответов в профильных сообществах. Ввиду статуса «самоучка» — могу согрешить с терминологией, поэтому по ходу статьи прошу понять и простить мое возможное «просторечие» и «быдловатость»..)
Дополнительно хочу отметить, что главная моя цель в жизни — созидание, а не разрушение, посему моя заинтересованность в вопросе «как сломать?» направлена исключительно на «как защитить?».

Прежде всего хочу сердечно поблагодарить арбитраж площадки Standoff365 и вендора VK за бесценный опыт: я познал не только сам багхантинг но и юриспруденцию - более-менее правильно научился пользоваться терминологией, мертвой хваткой цепляться к словам, расстановке запятых, пожалуй первый раз в жизни начал читать и анализировать правила и положения от корки до корки, наконец добрался до чтения статей законов.

Дополнительно отмечу, что:

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

  • все описанные факты подтверждены перепиской, скриншотами и видео, а выводы сделаны на основе объективных событий, а не эмоций;

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

  • никакие технические детали эксплуатации не раскрываются - только уровень, достаточный для оценки действий сторон;

С чем я столкнулся

Сначала я нашел первую уязвимость. Как положено — зарепортил на площадке.
От вендора без долгих раздумий с его стороны получил статус «Информативный».
Проанализировал отчет и уяснил свою первую ошибку: уязвимость была описана мной «абстрактно» и действительно выглядела в отчете просто как «информация о чем‑то..».

Сделал соответствующий вывод, работу над ошибками и принес новый отчет, уже с указанием конкретики, импакта, и... получил «дубль» на собственный же первый отчет.

Имея на руках обоснованную уязвимость и фактический отказ вендора в ее рассмотрении — обратился в арбитраж. Но, увы — и он оказался «полностью согласным с позицией вендора», несмотря на описание мной потенциальных угроз и указание пунктов ФЗ, которые нарушаются и к данной уязвимости имеют прямое отношение.

Не согласившись с обоими — я написал обращение в соответствующий регулятор с описанием ситуации (гипотетически «на кошках», так как разглашать детали «низя») и просьбой о разъяснении согласно закона. Пока жду ответ.

Что еще любопытно: несмотря на то, что вендор и арбитр сошлись во мнении «уязвимостью не считаем» — мой вопрос о раскрытии данного отчета получил отрицательный ответ (почему бы и нет, если это «не уязвимость»?), потому что «вендор оставляет за собой право..».

Следующий мой отчет содержал комплекс из трех разных (более серьезных) уязвимостей. Рассматривался вендором уже дольше (неделю) и...

«Дубль».

Аргументы вендора:

  • По одной уязвимости: ссылка на отчет другого багхантера, раскрывающего иной вектор с совершенно другим CWE.

  • По второй: скриншот внутреннего трекера с сомнительным заголовком, больше напоминающим «узелок на память», без каких‑либо деталей. Причём, под указанный заголовок можно было бы подвести 5–6 различных «похожих» уязвимостей.

  • По третьей уязвимости: просто «дубль»... Без объяснений.. Без аргументов.. (очевидно потому, что две других уязвимости по мнению ��ендора оказались «дублями»).

Оторопев от такого — открыл апелляцию в арбитраже.

К моему изумлению арбитр и в этом случае по итогу оказался «согласен с вендором», и несмотря на то, что:

  • я дал объективные и технически подтверждающие разность векторов и CWE в сравнении с отчетом другого багхантера аргументы, а контраргументы арбитра оказались несостоятельными и технически бессильными.

  • озвучил вопросы о легитимности и силе «скрина из внутреннего трекера вендора с заголовком ни‑о-чем» (в положениях платформы явно указано, что признание уязвимости дубликатом может быть только в случае явно подтверждающих подробностей).

  • прямой вопрос о закрытии дубликатом уязвимости без каких‑либо доказательств (просто «за компанию» без какой‑либо дифференциации) -

позиция арбитража осталась «неизменной».

Более того — в процессе[!] обсуждения в данную ветку мне пришло любопытное письмо от руководства арбитража уязвимостей с «окончательным резюме»: «..арбитраж завершён, коммуникация по кейсу закрыта..» и «напутствием» в виде: «..настоятельно не рекомендуем разглашать какую‑либо информацию об отчетах без согласия вендора..» и «добивающей» цитатой из положений: «Участник не вправе разглашать какие‑либо сведения об Уязвимости, обнаруженной у Клиента, при отсутствии согласия Клиента на такое разглашение» (хотя в принципе о каком‑то «публичном разглашении» речи совершенно не шло).

Коллапс...

Подаю следующий отчет (по критичности — наиболее высокий).

«Отклонен». Аргумент вендора: «PoC не соответствует правилам».

Контраргументирую: «уязвимость воспроизводится и другими способами, не запрещенными правилами».

Вендор: «наша позиция неизменна»...

Что поделать.. Снова топаю в арбитраж..

Как вы думаете — какой ответ?)
Угадали: «мы согласны с позицией вендора» (день сурка, в общем)).

Показываю арбитру PoC, «не запрещенный правилами» и раскрывающий уязвимость — в ответ полная тишина.

Возвращаюсь в отчет, задаю прямые вопросы вендору касательно самой уязвимости, где ответ предполагает «Да», «Нет» — в ответ «наша позиция неизменна» и полное уклонение от ответа по сути заданного вопроса.

В недоумении снова заглядываю в «правила программы» и.. Ха‑ха‑хах.. Вендор их «пофиксил» (ну хоть какой‑то «баг» я помог исправить и то хорошо), причём так, что пункты стали «безоговорочными»..

На указание данного факта — ответ вендора: «наша позиция неизменна» (та штош такое‑то!), ну а арбитраж данную ситуацию с изменением правил «на лету» по существу вообще никак не прокомментировал.
Понимаю, что изменения были внесены для исключения отчетов подобных моему в будущем, и я вправе требовать рассмотрения по правилам, действующим на день подачи отчета, но факт в том, что вся последующая полемика вендора и арбитража почему‑то оказалась строго соответствующей новым правилам.

Патовая ситуация — согласитесь?

Сходил в официальный телеграм‑чат standoff365, задал вопрос:

Как быть, если вендор и арбитраж прописали «нет», а я считаю свои находки ценными и легитимными?

Ответ от «бывалых»: «никак, отдыхай, наслаждайся жизнью..».

Но я настойчив... Погуглил. Интернет выдал аналогичное резюме, так как права этичных хакеров в нашей стране почему‑то особо никем не регулируются...

В отличие от США или ЕС, где исследователь может обратиться в CERT, в суд или даже в СМИ, если вендор игнорирует критическую уязвимость — у нас нет ни закона, ни практики, ни защиты. В России отсутствует чёткий правовой механизм защиты этичных исследователей, что создаёт риски для национальной кибербезопасности.
Ты можешь потратить недели на PoC, юридические ссылки, видео — а тебе ответят: «Это дубль», «Это не наша проблема», «Арбитраж завершён».
И всё. Ты остаёшься один на один с системой, которая не даёт тебе права на защиту.

Данный статус‑кво позволяет легитимным площадкам и вендору легко манипулировать и «слать лесом» этичных хакеров, пригрозив «последствиями, вплоть до уголовной ответственности» (несмотря на соблюдение условий программы), что я и ощутил на собственной шкуре.

А ведь именно такие люди — последний щит перед тем, как уязвимость найдет реальный злоумышленник, который не будет читать «правила программы» (и это должно быть критично и особенно важно для государственных систем).

Сижу, размышляю на тему: «а что дальше?». У меня на руках уязы, в рассмотрении и признании которых отказано без технического обоснования (хорошо, что не сказали «гуляй мальчик, а то милицию на тебя вызовем»)).
Кстати говоря — все найденные мной уязвимости оказались потенциально нарушающими законы РФ.

И здесь меня осенило!

Возвращаюсь к переписке:

«..не рекомендуем разглашать какую‑либо информацию об отчетах..» (привожу дословно, и здесь наверное имелось ввиду «об уязвимостях„)“»

Перечитываю положения о программах:

«..Участник не вправе разглашать какие‑либо сведения об Уязвимости [да, точно — „уязвимости“], обнаруженной у Клиента, при отсутствии согласия Клиента на такое разглашение..»

И думаю, а как это понимать? «Серая зона» какая‑то выходит...
«какие‑либо», «совсем никакие?», «ни в коем случае?»..
(судя по формулировке, мне наверное нельзя даже писать всуе на Хабре: «я нашел уязу в MAX„))

А если, к примеру вендор написал в своем приложении функцию, тихо ворующую деньги или интим‑фото из смартфона пользователя — это нельзя разглашать?
Извините, — не согласен.“»

Я понимаю, что разглашение деталей широкой публике — да, это неэтично, некрасиво, опасно, уголовно‑наказуемо.

Но мне так кажется, что если взять, к примеру Роскомнадзор, ФСТЭК, Минцифры, Роспотребнадзор и другие аналогичные инстанции — вряд ли можно их назвать «широкой публикой».

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

Итог:

Получив свой личный опыт исследователя в системе, где вендор и площадка могут игнорировать критические уязвимости без последствий, я задался дополнительной целью — добиться системных изменений: ввести прозрачные гарантии для исследователей, закрепить их право на обращение в регуляторы при нарушении закона, и сделать bug bounty в России не инструментом сокрытия рисков, а реальным щитом национальной цифровой безопасности.

И мне пришла мысль (формирую концепцию): предложить «наверх» на законном уровне как‑то учесть подобные случаи и исключить их в корне, установив более высокую степень прозрачности, лояльности на подобных площадках и:

  • обязать платформы баг баунти внести в свои правила корректировки касательно разглашения («..не вправе разглашать никому, кроме контролирующих органов в случае нарушения законодательства..»),

  • дать понять багхантерам, что они имеют такое право (например, в процессе регистрации),

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

  • рекомендовать (а возможно даже «обязать и закрепить в правилах») платформам баг баунти — внести корректировки в «скрипты взаимодействия» и в целом тактику отн��шений с багхатерами:

(поясню на приёмах давления и уловок, через которые прошел сам):

  • «Мягкий бан» через молчание: игнорирование прямых вопросов с «да/нет»

  • Подмена понятий: например о фактическом CWE или конкретный случай: в переписке мне сказали: «не разглашайте сведения об отчётах», хотя в Положениях речь идёт только об «уязвимостях». Это прием «расширения» запрета, и он давит на неуверенного багхантера

  • Изменение правил постфактум: чтобы исключить мой отчёт и последующие аналогичные (несмотря на полемику «мы рассматриваем версию правил на день подачи отчета» — по факту и в конкретике слов вендора и арбитража читалась уже иная позиция)

  • Формальный «дубликат» без доказательств — просто чтобы закрыть тему,

  • Угроза баном и УК РФ за «разглашение», хотя я и не собирался раскрывать уязвимости широкой публике,

  • Передача шаблонного ответа от техлида через маркетолога — для создания иллюзии диалога.

  • Мягкое, но настойчивое убеждение меня в «ненужности» указания имен вендора и площадки, а также понуждение к раскрытию технических деталей уязвимостей (этого если честно совсем не понял) при рассмотрении данной статьи маркетологом Standoff365 на предмет нарушения правил (хотя я не просил «рекомендаций и указаний» по написанию данной статьи)

  • Фамильярное обращение на «ты» (очевидно взятое на вооружение для подчеркивания «мы такие большие, а ты такой маленький») — не думаю, что «зайдёт» каждому. Мне, в контексте спора по нерешённым вопросам — не зашло. Но, это конечно уже мелочи (хотя из подобных «мелочей» и складывается общий «пресс» для неуверенного в себе багхантера)

    NB: (Полагаю, что этот список далеко не полный. И (подчеркну) это вовсе не «список жалоб» а просто констатация фактов, которая возможна будет полезна другим багхантерам. Сам я не лыком шит — принял эти удары достойно, намотал на ус, сделал свои выводы)

Подчеркну, что всё это — не эмоции, а документированные практики, которые:

  • демотивируют исследователей,

  • подрывают доверие к bug bounty в РФ,

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

За сим, пожалуй, пока всё...

Всем «белым» желаю удачных исследований, встречной лояльности вендора и достойной мотивации за труд ;-)

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


  1. 0mogol0
    24.10.2025 18:17

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

    я задался дополнительной целью — добиться системных изменений: ввести прозрачные гарантии для исследователей, закрепить их право на обращение в регуляторы при нарушении закона, и сделать bug bounty в России не инструментом сокрытия рисков, а реальным щитом национальной цифровой безопасности.

    https://www.kommersant.ru/doc/8141928 партия о вас подумала, и скоро все белые хакеры должны будут быть зарегистрированы в ФСБ.


    1. vovka3003 Автор
      24.10.2025 18:17

      Видел эту новость, но это не то..

      Я - о защите прав.


  1. 0x22
    24.10.2025 18:17

    Как выше уже отметили - не хватает технических данных абсолютно. Опишите хоть импакт. В особенности интересно про критического уровня багу. SQL-inj/RCE/IDOR/ ещё что серверное, намекните хоть.


  1. s3n_q
    24.10.2025 18:17

    Привет! Меня зовут Уваров Петр, я руководитель команды VK Bug Bounty.
    Статья интересная, и у участника незнакомого с багбаунти может вызвать ряд вопросов. Давайте я проясню некоторые такие вопросы со стороны вендора:

    От вендора без долгих раздумий с его стороны получил статус "Информативный".
    Проанализировал отчет и уяснил свою первую ошибку: уязвимость была описана мной "абстрактно" и действительно выглядела в отчете просто как "информация о чем-то.."

    Любой отчет, который нам присылают, мы оцениваем со всех сторон, чтобы оценить общую угрозу и риски. Весь импакт был изначально оценен в первом отчете и в связи с тем, что угрозы для ИБ сервиса и пользователей не было, он был оценен как информативный. И когда точно такой же отчет, но уже другими словами, присылают второй раз, абсолютно логично закрыть его дубликатом.
    Также, как уже было сказано в отчете, мы не вправе мешать вам обратится в Роскомнадзор за пояснением.

    Следующий мой отчет содержал комплекс из трех разных (более серьезных) уязвимостей. Рассматривался вендором уже дольше (неделю) и...
    "Дубль".

    Тут все более прозаичнее. Так как автор, по его словам, "новичок", я объясню, что такое статус дубликат: Дубликат ставится тогда, когда проблема указанная в репорте, уже подсвечена либо другим исследователем, либо найдена в результате внутренних работ.

    По одной уязвимости: ссылка на отчет другого багхантера, раскрывающго иной вектор с совершенно другим CWE.
    По второй - скриншот внутреннего трекера с сомнительным заголовком, больше напоминающим "узелок на память", без каких-либо деталей. Причем, под указанный заголовок можно было бы подвести 5-6 различных "похожих" уязвимостей.

    Чтобы дать максимальное количество информации и быть прозрачными для исследователя, мы одновременно сделали линк на оригинальный репорт багхантера, а также приложили скриншот с внутреннего таск трекера для второй уязвимости в отчете. Т.к. в силу NDA мы не можем разглашать некоторые вещи, часть информации была скрыта. После обращения автора к платформе за медиацией, представителям платформы мы показали намаскированную задачу и описание, которое было в скриншоте, чтобы они убедились в валидности представленных нами доказательств. Это является обычным поведением при спорных ситуациях.

    По третьей уязвимости - просто "дубль"... Без объяснений.. Без аргументов.. (очевидно потому, что две других уязвимости по мнению вендора оказались "дублями").

    Тут автор или лукавит, или недоговаривает, т.к. информация была предоставлена в том же ответе и общий поинт ее был не в том, что это дубликат, а в том это валидное поведение. Описанное поведение было также продемонстрировано при медиации данного репорта.

    Я бы хотел особенно коснуться вот этого:

    К моему изумлению арбитр и в этом случае по итогу оказался "согласен с вендором", и несмотря на то, что:

    • я дал объективные и технически подтверждающие разность векторов и CWE в сравнении с отчетом другого багхантера, а контраргументы триажера оказались несостоятельными и технически бессильными.

    У автора статьи и автора оригинальной уязвимости, буквально одинаковые адреса и параметры в отчетах. То, что описание отчетов отличается - не значит, что это разные уязвимости.

    Подаю следующий отчет (по критичности - наиболее высокий).
    "Отклонён". Аргумент вендора: "PoC не соответствует правилам".

    Позвольте я представлю скрин, который был дан в отчете:

    Дополню от себя: Уязвимость про которую идет речь, может быть реализованна в двух случаях - или при эксплуатации MitM или если у злоумышленника есть доступ к компьютеру жертвы. В обоих случаях, такое в bug bounty не принимается по понятным для всех причинам - перехват трафика у пользователя или в корпоративных сетях не является ответственностью компании.

    В недоумении снова заглядываю в "правила" и.. Ха-ха-хах.. Вендор их "пофиксил" (ну хоть какой-то "баг" я помог исправить и то хорошо), причем так, что пункты стали "безоговорочными"..
    На указание данного факта ответ вендора: "наша позиция неизменна" (та штош такое-то!), триаж данную ситуацию с изменением правил "на лету" никак не прокомментировал.

    И снова моя цитата и скрин:

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

    Позиция автора понятны - он недоволен тем, как прошел его первый опыт в багбаунти, случились дубликаты. Но надо отметить, что в конкретно в этом случае и сообщество и платформа и вендор соглашаются с тем, что оснований для выплаты нет. Мы всегда рады дальнейшему вниманию к нашим сервисам и конструктивной критике — именно так можно становятся все лучше и лучше.


    1. vovka3003 Автор
      24.10.2025 18:17

      Очень хороший отрывочек)

      Жаль, что сам не имею права раскрыть его пошире. Ну и ладно..

      Может по остальным вопросам ответы найдете и выложите их тут? ;)


  1. ptsecurity
    24.10.2025 18:17

    Команда площадки Standoff Bug Bounty всегда стремится поддерживать открытый диалог с исследователями и компаниями. Хотим отметить, что уже предоставляли все необходимые подтверждения и развернутые обоснования нашей позиции в этом кейсе, что, к сожалению, не находит полного отражения в данной публикации. Тем не менее, мы остаёмся открыты к конструктивному диалогу и готовы дать дополнительные разъяснения в случае необходимости.


    1. vovka3003 Автор
      24.10.2025 18:17

      Здрасьте команда)

      Хороший ответ. Очень жаль, что не получил на свои вопросы.

      Или вы ответили (и вендор тоже)?

      Странно, не вижу ни на почте ни в отчётах.

      Я про те, которые подразумевают ответ "да/нет", а также дополнительное исследование другого CWE, которое опровергает ваши утверждения.

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

      Ответьте же (только в почте, не здесь. Здесь не интересно, ибо я ничего не могу возразить аргументированно по существу, так как не собираюсь в бан раньше времени - я ж по правилам)..


  1. select26
    24.10.2025 18:17

    раскрывающего иной вектор с совершенно другим CWE.

    Автор, вы неоднократно ссылайтесь в статье на некие CWE. Поясните пожалуйста о чем конкретно идёт речь?