|
Professor Seleznov
|
Что такое bug bounty вообще? Истоки уходят в 1995 год — Netscape первой предложила денежные награды внешним исследователям за найденные уязвимости в Netscape Navigator 2.0. Индустрия пришла к простой мысли: дешевле платить тем, кто находит баги, чем потом расхлёбывать инциденты. Так появилась модель, а вместе с ней — платформы-посредники: HackerOne (2012), Bugcrowd, Synack. Они дали стандартизацию процессов, юридическую защиту исследователей (safe harbor), эскроу-механизмы, медиацию и репутационные системы. Модель сработала. На ней построены программы Google, Microsoft, Apple, на ней же в 2016 году Министерство обороны США запустило «Hack the Pentagon» — одну из первых федеральную bug bounty в истории. Миллиарды долларов выплат за десятилетие. Тысячи закрытых уязвимостей. Это работающий институт — для Web2. Web3 наследует модель Когда Web3 столкнулся с собственным валом эксплойтов — мостов, протоколов, DeFi-контрактов — индустрия потянулась к проверенному решению. В декабре 2020 года была основана Immunefi — платформа, специализирующаяся именно на Web3 bug bounty. Сегодня компания заявляет о более чем $110 миллионов выплат за всё время, 330+ проектах на платформе и суммарном пуле активных вознаграждений около $162 миллионов. Среди публично размещённых программ — Chainlink (до $3M), Sky (бывший MakerDAO, до $10M), Wormhole, Aave, SushiSwap. На главной странице платформы до сих пор гордо висит история о выплате $10 миллионов белому хакеру satya0x за критическую уязвимость в Wormhole — крупнейшей в истории отрасли. На бумаге — всё то же, что и в Web2: программа, scope, классификация severity, SLA на ответ и резолюцию, mediation team, vault для демонстрации платёжеспособности проекта, ответственное раскрытие. Внешне — та же схема, которая десятилетиями работала на Google, Microsoft и Пентагон. Но вот что я узнал, попробовав воспользоваться этой моделью изнутри. 50 дней 10 марта 2026 года я отправил на Immunefi отчёт о критической уязвимости в одном из проектов, размещённых на платформе. Severity — Critical, по классификации самого Immunefi (пятый, высший уровень). PoC приложен, шаги воспроизведения описаны, импакт прямо соответствует одному из пунктов scope программы — постоянная заморозка средств пользователей. Название проекта здесь несущественно — пост не про него(да и я пока не получил разрешение на Public Disclosure) В тот же день, через 18 минут после подачи, отчёт был эскалирован команде проекта. С этого момента, согласно правилам платформы, у проекта есть 48 часов на acknowledgment — подтверждение получения — и до 336 часов (14 дней) на резолюцию репорта. Это не моя интерпретация, это дословные сроки из системного сообщения, которое Immunefi автоматически отправляет в каждый эскалированный тред.
 Дальше — таймлайн. Без комментариев, просто факты.
- 12 марта. 48-часовой дедлайн на acknowledgment истекает. От проекта — ничего. Платформа отправляет автоматическое напоминание.
- 13 марта. Я лично пишу в треде, прошу хотя бы подтвердить получение. Ответа нет.
- 14 марта. Запрашиваю медиацию. Mediation team Immunefi подключается, обещает связаться с проектом по прямым каналам.
- 18 марта. Mediation team сообщает: они написали проекту через прямые каналы, ответа нет.
- 24 марта. Истекает 336-часовой SLA на резолюцию. Платформа отправляет ещё одно автоматическое напоминание. Реакции от проекта — по-прежнему ноль.
- 5 и 11 апреля. Я снова пишу в тред с просьбой хоть как-то отреагировать. Тишина от mediation team продолжается.
- 15 апреля. Mediation team подтверждает: проект так и не вышел на связь. Ни через платформу, ни через прямые каналы.
- 27 апреля. Mediation team отвечает на мои вопросы по статусу дела. Ответы — отдельная история, к ним мы ещё вернёмся.
По состоянию на сегодня, 29 апреля 2026 года — 50 дней с момента подачи отчёта. Проект не написал в треде ни одного сообщения. Ни одного. При этом всё это время команда проекта остаётся активна on-chain — деплоит обновления, проводит транзакции. То есть «не отвечают» — это не «не могут», это «не хотят». Уязвимость на мейннете не запатчена Что я узнал об Immunefi за эти 50 дней
Примечание. Везде ниже название проекта, на котором ведётся репорт, а также любые другие потенциально идентифицирующие данные заменены на *******. Это касается как моего собственного текста, так и прямых цитат из переписки с Immunefi — оригинальное имя в цитатах присутствует, но я сознательно его маскирую, чтобы соблюсти правила ответственного раскрытия. Уязвимость на мейннете не запатчена, и привлекать к проекту внимание в таком состоянии — не моя цель. Цель поста — разговор о платформе, а не о конкретном клиенте.
После 27 апреля у меня на руках оказались письменные ответы mediation team на три ключевых вопроса: можно ли получить хотя бы частичную выплату из vault, какие санкции грозят проекту за нарушение SLA, и есть ли вообще какой-то жёсткий дедлайн, после которого Immunefi обязан что-то сделать. Эти ответы — не утечка, не интерпретация, не моя реконструкция. Это прямые письменные формулировки сотрудника Immunefi mediation team в официальном треде моего репорта. Скриншоты прилагаю. Открытие первое: vault — это витрина, а не эскроу На странице любой программы Immunefi висит цифра «Funds available» — сумма средств, которые проект якобы зарезервировал на выплаты белым хакерам. У моего проекта эта цифра — $3000. Не миллионы — три тысячи. Логично было спросить: можно ли получить хотя бы их, как частичную компенсацию, пока проект игнорирует репорт уже 50 дней? Ответ mediation team:
No, this is not possible. We do not control the vaults. Vaults are just so that projects can showcase that they have the funds to pay for bug reports. We do not control the funds of ******* or any of our clients as that would otherwise mean we custody their funds which would make us a financial service provider.
Перевод: «Нет, это невозможно. Мы не контролируем vault’ы. Vault’ы существуют только для того, чтобы проекты могли продемонстрировать наличие средств для выплаты баг-репортов. Мы не контролируем средства ****** или любого из наших клиентов, поскольку это означало бы, что мы храним их средства, а это сделало бы нас финансовым сервис-провайдером».* Прочитайте это ещё раз. Vault — это просто витрина. Цифра «Funds available» на странице программы не означает ни эскроу, ни резерва, ни обязательства. Проект сохраняет полный односторонний контроль над этими средствами и может вывести их в любой момент. Когда исследователь смотрит на «$50,000 funds available» и думает «ну хотя бы эти деньги доступны для выплаты» — он ошибается. Открытие второе: единственный рычаг платформы работает против исследователя Я задал прямой вопрос: какие санкции грозят проекту, который проигнорировал и 48-часовой acknowledgment, и 336-часовой resolution SLA? Будет ли программа приостановлена, делистнута, публично помечена как нарушитель? Ответ mediation team:
Should they continue to abuse the rules, we may consider taking them off of Immunefi so that no further bug reports can be sent to them. However, I need to clarify that this actually lowers the likelihood of you getting a payout because it reduces the leverage we have, unless they want to get back on Immunefi. In this case, we would require them to settle all of their outstanding bug reports.
Перевод: «Если они продолжат нарушать правила, мы можем рассмотреть возможность убрать их с Immunefi, чтобы новые баг-репорты к ним не поступали. Однако я должен пояснить, что это, по сути, снижает вероятность получения вами выплаты, потому что уменьшает рычаг давления, который у нас есть — если только они сами не захотят вернуться на Immunefi. В таком случае мы потребуем от них урегулировать все открытые репорты». Это самое странное предложение во всей переписке. Единственный механизм наказания проекта — делистинг — официально признаётся самой платформой как механизм, который вредит исследователю, а не проекту. Логика проста: пока проект на Immunefi, у платформы есть рычаг давления (репутация, статус). Если убрать проект — рычаг исчезает, и проекту больше нет никакого смысла платить. Получается, что «наказание» нарушителя — это ровно тот сценарий, при котором исследователь гарантированно не получит ничего. Открытие третье: жёсткого дедлайна не существует Третий вопрос был самый простой: если 336-часовой SLA истёк, и проект продолжает молчать — есть ли какая-то дата, после которой Immunefi обязан принять окончательное решение по делу? Закрыть, выплатить, что угодно — но финализировать? Ответ mediation team:
I cannot provide this date unfortunately. This becomes cross-departmental and is well-outside my control as a mediation team member, as well as the team as a whole. I can flag problematic clients, like *******, but there is not much more I can do. That said, again, I have to be transparent that it actually isn’t in your financial interest probability wise that we take such severe action against them.
Перевод: «К сожалению, я не могу назвать эту дату. Это межведомственный вопрос, который полностью вне моего контроля как члена mediation team, и вне контроля команды в целом. Я могу пометить проблемных клиентов, как *****, но больше я мало что могу сделать. И опять же, должен быть честным: с точки зрения вероятности получения выплаты, такие жёсткие меры против проекта не в ваших финансовых интересах». То есть: жёсткого дедлайна нет, человек, к которому исследователь обращается за защитой своих прав, открыто признаёт, что у него нет полномочий вообще ни на что — и в той же реплике повторно напоминает, что любые серьёзные меры против нарушителя сделают только хуже самому исследователю. Не упрямство проекта, не нарушение SLA, а сам исследователь оказывается тем, кому невыгодно настаивать. Что это значит для исследователя Подведу. Если вы Web3-исследователь и думаете отправлять репорт через Immunefi, имейте в виду следующее. Цифра «Funds available» на странице программы — это не гарантия выплаты, не эскроу и не резерв. Это просто баланс кошелька проекта, к которому у платформы нет доступа. SLA на acknowledgment (48 часов) и резолюцию (336 часов) — это рекомендации без последствий: их нарушение не запускает никаких автоматических процедур. Mediation team — это не арбитраж, а максимум вежливый посредник, который может «пометить клиента как проблемного» и больше ничего. Делистинг проекта — теоретически существующий механизм наказания — официально признаётся самой платформой как сценарий, который вредит исследователю, а не нарушителю. Что это значит для исследователя Подведу. Если вы Web3-исследователь и думаете отправлять репорт через Immunefi, имейте в виду следующее. Цифра «Funds available» на странице программы — это не гарантия выплаты, не эскроу и не резерв. Это просто баланс кошелька проекта, к которому у платформы нет доступа. SLA на acknowledgment (48 часов) и резолюцию (336 часов) — это рекомендации без последствий: их нарушение не запускает никаких автоматических процедур. Mediation team — это не арбитраж, а максимум вежливый посредник, который может «пометить клиента как проблемного» и больше ничего. Делистинг проекта — теоретически существующий механизм наказания — официально признаётся самой платформой как сценарий, который вредит исследователю, а не нарушителю. Платформа знает об этой проблеме Самое интересное — что Immunefi прекрасно знает о структурной проблеме отказов проектов от выплат. И публично её признала. В июле 2025 года протокол Spectra отказался платить призовой фонд $40,000 победителям audit competition после раскрытия уязвимостей. Immunefi месяц безуспешно пыталась договориться, после чего выплатила эти $40,000 из собственных операционных средств, чтобы защитить интересы исследователей. Цитата из официального твита Immunefi от 4 июля 2025 года:
As part of our commitment to SRs, Immunefi has proceeded to pay out the rewards using its own funds following Spectra’s refusal to honor the terms of the Audit Competition they approved for publishing.
Перевод: «В рамках нашей приверженности интересам исследователей безопасности, Immunefi провела выплату наград из собственных средств после отказа Spectra соблюдать условия Audit Competition, которую они сами же одобрили к публикации». После этого инцидента Immunefi ввела политику обязательного pre-payment escrow — но только для audit competitions. Для обычных bug bounty программ — то есть того самого формата, в котором подавался мой репорт — всё осталось ровно как было: vault как витрина, никакого эскроу, никаких реальных гарантий. Платформа знает, как решить проблему. Платформа уже решила её — для одного из своих продуктов. Но в основном продукте, через который проходит подавляющее большинство репортов, проблема осталась нетронутой. Асимметрия обязательств И последнее, на чём хочется остановиться. По правилам Immunefi, исследователь обязан соблюдать жёсткие технические требования: тестирование на мейннете или публичных тестнетах строго запрещено, PoC должен запускаться только на форке в локальном окружении, нарушение этого правила — мгновенный перманентный бан. Никаких исключений, никаких объяснений, никакого «но я же хотел как лучше». Это разумно, и я как исследователь не возражаю. Но вот что любопытно. Исследователь нарушает технические правила — мгновенный бан. Проект нарушает 48-часовой SLA, 336-часовой SLA, игнорирует репорт 50 дней — никаких последствий, кроме автоматических напоминаний и вежливых писем mediation team. Платформа, у которой одна сторона договора защищена жёсткой репрессивной машиной, а другая — пустыми обещаниями, не является нейтральным посредником. Это платформа, которая по архитектуре своих правил знает, кто здесь клиент, а кто — расходный материал. Я не утверждаю, что Immunefi — мошенники. Я утверждаю, что архитектура платформы не предполагает реальной защиты исследователя. И на это указывают одновременно три вещи: технические ограничения vault-системы, признанный платформой и решённый только для audit-формата прецедент со Spectra, и фундаментальная асимметрия санкций между двумя сторонами. В Web2 модель работает потому, что построена на реальных механизмах: эскроу, контрактных обязательствах, репутационных санкциях, которые бьют по бизнесу заказчика. В Web3 — на репутационном джентльменском соглашении, обеспеченном только желанием проекта его соблюдать. Это просто другая модель, в которой исследователь — не сторона договора с платформой, а волонтёр, действующий на свой страх и риск. Immunefi — это явно не та платформа, какой её себе представляет большинство белых хакеров, заходящих туда впервые. В следующих постах я планирую сделать аналогичный разбор других Web3-платформ для bug bounty — Cantina, HackenProof, code4rena, Sherlock — чтобы понять, является ли описанная архитектура общей проблемой сегмента или особенностью именно Immunefi. Подписывайтесь, если интересно.-Источник
|