Правила Bug Bounty как обещание награды

🖨️
текст первоначально был опубликован в журнале "Хакер"

Что такое обещание награды в юридическом смысле? Почему оно именуется именно как публичное? Какие моменты нужно иметь в виду, если правила Bug Bounty изложены как публичное обещание награды? Давай разбираться.

Что такое публичное обещание награды?

Очевидно, что обещание награды — это принятие на себя обязанности отдать какую-либо вещь или выплатить денежные средства тому, кто совершит определенные действия. Представь себе Дикий Запад и плакаты «Wanted (dead or alive)» — это типичный пример публичного обещания награды. В юридическом смысле это односторонняя сделка. В российском законодательстве она определяется в статье 1055 Гражданского кодекса РФ:

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

Здесь важны следующие моменты.

1. Объявление о награде должно быть публичным

Лицо, желающее выплатить вознаграждение, должно именно открытым образом сообщить о своем желании — например, через средства массовой информации, раздел своего сайта или блог, куда доступ для чтения свободный, с помощью рекламы. Если предложение делается адресно нескольким участникам (например, рассылается по email), то такое сообщение о награде вряд ли можно будет признать публичным.

2. Круг лиц, которые могут получить награду, не должен быть ограничен

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

Для примера можешь посмотреть правила Bug Bounty компании PayQR. Да, программа позиционируется как конкурс (и это действительно конкурс), но если бы вместо условия «Участвовать могут физлица, являющиеся резидентами РФ» было написано, что участвовать могут все желающие (или иным образом приведена формулировка, которая бы не ограничивала круг возможных участников), то вполне можно было бы говорить о том, что перед нами публичное обещание награды, а не правила конкурса.

3. Задание для получения награды должно быть правомерным

Это законодательное требование к лицу, обещающему награду. Можно обещать награду только за совершение правомерных действий. Нельзя предлагать награду за совершение неправомерных (и тем более преступных) действий.

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

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

4. Срок выполнения может быть не оговорен

Формально срок выполнения — это период, в течение которого желающие получить награду должны выполнить действия, за которые объявлена награда. Если срок не указан, то подразумевается, что предложение о награде действует бессрочно, пока лицо, объявившее о награде, так же публично не заявит о прекращении срока действия своего обещания. Другими словами, если срок отсутствует, это совсем не означает, что все предложение о награде недействительно.

Могут ли получить награду несколько человек?

Ответ на этот вопрос стоит искать в той же статье 1055 Гражданского кодекса РФ:

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

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

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

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

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

Возьмем для примера программу Bug Bounty компании Espressif и посмотрим, как бы она работала по российскому законодательству.

Espressif is pleased to update Bug Bounty Program with immediate effect on Feb.28th, 2016. We have increased the minimum amount to pay out to 2000 USD for any developer reporting a previously unknown bug in our latest ESP8266 Non-OS or RTOS SDK. The award is sometimes increased, depending on the severity and scope of the bug, especially security bugs.

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

The Complete List of Bug Bounty Programs 2024
Many companies challenge hackers – or anyone else who wants to give it a try – to find security bugs in their systems and break in. Not only that, but they reward anyone who can

Перечень действующих программ Bug Bounty смотрите, например, здесь

Награда может быть только денежной или не только?

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

Достаточный ли это стимул для участия — решать тебе. Бывает и такое, что награды не стоят проделанной работы. Вспомнить хотя бы случай, когда фирма General Motors в качестве награды пообещала не предъявлять к багхантеру судебных исков.

Может ли награда не быть однозначно определена?

Да, может быть и такое. Статья 1055 Гражданского кодекса РФ содержит нужный ответ:

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

Но, согласись, если лицо публично призывает искать уязвимости и не обещает вознаграждения, это отпугнет багхантеров. Уважающие себя компании, которые (в отличие от GM) желают привлечь к поискам как можно больше профессионалов, сразу определяют вознаграждение, обозначают его размер и публично информируют об этом.

Рассмотрим несколько примеров.

Nintendo

Nintendo will pay rewards to the first reporter of qualifying vulnerability information ranging from $100 USD to $20,000 USD. Only one reward per qualifying piece of vulnerability information will be awarded. Nintendo will determine at its discretion whether the vulnerability information qualifies for a reward as well as the amount of any such reward. Nintendo does not disclose how the reward amount is calculated.

Qualcomm

Security Rating: Critical
Software Category: Cellular modem — Reward: $15.000
Software Category: TEE — Reward: $9.000
Software Category: Bootloader — Reward: $9.000
Software Category: Application processor software and all other qualified components — Reward: $8.000
Security Rating: High
Software Category: Cellular modem — Reward: $5.000
Software Category: TEE — Reward: $5.000
Software Category: Bootloader — Reward: $5.000
Software Category: Application processor software and all other qualified components — Reward: $4.000
Security Rating: Medium
Software Category: All qualifying components — Reward: $2.000
Security Rating: Low
Software Category: All qualifying components — Reward: $200–$1.000

Qiwi

Мы выплачиваем награду в том случае, если вы первый, кто сообщил нам о данной уязвимости. Минимальная награда за найденную уязвимость составляет 100$, максимальный размер награды зависит от критичности уязвимости.

Anistar.me

Здесь вознаграждение зависит от того, насколько серьезную уязвимость удалось найти:

легкая — «возможность совершать что-то от другого пользователя, при этом уязвимость не затрагивает админов или административную панель». Вознаграждение — от 100 до 1000 рублей;
средняя — «позволяет использовать полностью панель администратора или получить возможность доступа к базе данных». Вознаграждение — от 1000 до 2500 рублей;
высокая — «скомпрометировать полностью сервер или сервера сети anistar.ru». Вознаграждение — от 2500 рублей.

Можно ли привлекать других для выполнения наградного задания?

В целом — да. Закон в этом плане никак не ограничивает участников. Цель публичного обещания награды — совершение определенного действия (или их последовательности), суть которого изложена в объявлении награды. Если нигде не сказано, что делать это нужно единолично, то участник может сам решать, хочет он привлекать кого-то себе в помощь или нет. Если тебе нужна команда или консультанты для решения разносторонних заданий, то никто тебе не запрещает ими обзавестись. Однако тут появляются тонкости, связанные с отношениями между тобой и твоими помощниками.

Надо ли информировать помощников о награде?

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

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

Как снизить такой риск в отношении привлеченного специалиста?

Если ты не уверен, что твои знакомые специалисты смогут соблюсти договоренности, даже если они не оформлены на бумаге, то для снижения риска лучше всего подписать соглашение. В нем следует отразить предмет деятельности, для которой привлекается специалист, а также его обязательство не разглашать кому-нибудь без твоего согласия сведения, ставшие ему известны в ходе поиска багов и уязвимостей по твоему заказу (можно и прямо прописать, что он отказывается участвовать в конкурсах и иных формах поиска ошибок, уязвимостей в тех системах и ПО, о работе над которыми идет речь, и претендовать на публично обещанные награды).

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

Участвовать могут только физические лица или компании тоже?

По российскому законодательству ограничений для участия компаний нет. Но за рубежом законодательство вполне может отличаться и ограничения не исключены. Это может быть оговорено и в тексте программы. Например, у Qualcomm есть такая строчка:

Only individuals can qualify. We don’t reward companies, institutions.

Может ли награда быть отменена по воле организатора?

Да, может. Организатор имеет право отказаться от своего обещания награды. Это право закреплено в статье 1056 все того же Гражданского кодекса РФ:

Статья 1056. Отмена публичного обещания награды

  1. Лицо, объявившее публично о выплате награды, вправе в такой же форме отказаться от данного обещания, кроме случаев, когда в самом объявлении предусмотрена или из него вытекает недопустимость отказа или дан определенный срок для совершения действия, за которое обещана награда, либо к моменту объявления об отказе одно или несколько отозвавшихся лиц уже выполнили указанное в объявлении действие.
  2. Отмена публичного обещания награды не освобождает того, кто объявил о награде, от возмещения отозвавшимся лицам расходов, понесенных ими в связи с совершением указанного в объявлении действия, в пределах указанной в объявлении награды.

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

Во-вторых, если на момент отмены кто-то из стремившихся к получению награды понес документально подтвержденные и обоснованные расходы (то есть направленные на выполнение действий для получения награды), то организатор, отменяющий награду, все равно должен компенсировать их. Предел компенсации определен размером награды. И вот по этому случаю есть еще несколько моментов.

Первый:
компенсация расходов устроена так же, как в случае проведения Bug Bounty по модели конкурса (читай ответ на вопрос «Можно ли менять правила конкурса?» в предыдущей статье).

Второй момент:
если предел компенсации ограничен размером награды, то что делать, если награда не является денежной или материальной? Например, если награда — это просто обязанность организатора публично разместить на своем сайте имя победителя? В этом случае вопрос возмещения расходов после отмены награды будет, скорее всего, открытым. Если стороны сами не договорятся о размере компенсации, то это будет сделано в суде.

Третий момент:
надо иметь в виду и форму отмены награды. Закон прямо говорит, что организатор должен информировать участников о том, что он отменяет награду, так же, как он ее обещал. Если организатор не смог соблюсти требуемый законом порядок отмены награды, значит, он оставил первоначальное предложение о ней в силе. Поэтому если вдруг возникнет ситуация, что организатор сообщил о награде одним способом (например, через корпоративный блог компании на Habrahabr), а про его отмену — другим способом (например, у себя на сайте), то участвующий в задании багхантер сможет потребовать выплатить награду в случае выполнения задания или возместить расходы, если он их понес, выполняя задание.

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