Перейти к основному содержанию
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Raydium проводит активную программу поиска ошибок, охватывающую только код программы на цепи — смарт-контракты Solana с идентификаторами программ, указанными в reference/program-addresses. Программа работает на Immunefi с 25 апреля 2023 года. Выплаты масштабируются в зависимости от серьёзности и экономического воздействия, достигая до $505 000 на верхнем уровне критической серьёзности.SDK, REST API и фронтенд (raydium.io) не входят в программу вознаграждения. Ошибки там не оплачиваются, но сообщения о них приветствуются — см. раздел Сообщения без вознаграждения (SDK / API / UI) ниже для получения информации о контактах.Эта страница является источником истины о том, что охватывает программа, как сообщить об ошибке и чего ожидать от процесса ответа.

Область действия

В области действия программы (с вознаграждением)

Программа применяется только к развёрнутому коду программы на цепи:
  • Развёрнутые программы с идентификаторами в reference/program-addresses:
    • AMM v4 (675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8)
    • CPMM (CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C)
    • CLMM (CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK)
    • Stable AMM (5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h)
    • LaunchLab (LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj)
    • Farm v3 / v5 / v6
    • LP-Lock / Burn & Earn (LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE)
    • AMM Routing
  • Ошибки CPI-композируемости смарт-контрактов, когда правильное использование программы Raydium другой программой приводит к неправильному поведению самой программы Raydium.

Вне области действия программы (приветствуются сообщения — см. ниже)

  • Raydium SDK v2 (@raydium-io/raydium-sdk-v2) на npm.
  • REST API (все хосты, указанные на вкладке API Referenceapi-v3.raydium.io, transaction-v1.raydium.io, launch-*-v1.raydium.io и т. д.).
  • Фронтенд (raydium.io) — включая XSS, CSRF, ошибки в потоке аутентификации, спуфинг кошелька, нарушения состояния UI.
  • Внецепевые индексаторы, шлюзы изображений / IPFS и любая другая инфраструктура, которая предоставляет данные в UI.
Эти ошибки не оплачиваются. Сообщения о них приветствуются и полезны — отправляйте их через канал без вознаграждения ниже.

Вне области действия (не подлежат рассмотрению)

  • Программы третьих сторон, которые взаимодействуют с Raydium (сообщайте их командам).
  • Агрегаторы третьих сторон, которые маршрутизируют через Raydium (например, Jupiter).
  • Внецепевые инструменты, не поддерживаемые Raydium (SDK сообщества на Python, боты третьих сторон и т. д.).
  • Социальная инженерия против членов команды Raydium.
  • Любые находки, требующие сговора со стороны валидатора или атак с большинством ставок (это уровень Solana, а не цель DeFi-программы).
  • DoS путём спама на публичные RPC-конечные точки.
  • Результаты автоматизированных инструментов сканирования без рабочего proof-of-concept.
Исключения для конкретных программ (согласно листингу Immunefi):
  • Зависимости AMM v4 / OpenBook — ошибки, относящиеся к зависимостям OpenBook, не входят в область действия. AMM v4 установлен в Status 6, поэтому ликвидность больше не передаётся на рынки OpenBook.
  • Находки, уже отмеченные в предыдущих проверках безопасности, не подлежат вознаграждению: проверка CLMM от Ottersec и проверки Hybrid AMM программы от Kudelski, Ottersec и MadShield. Повторное сообщение об уже раскрытой ошибке не оплачивается.
  • Отказ в требовании доходов CLMM по замыслу — CLMM выдаёт токены торговых комиссий и фермерских доходов LP. Если злоумышленник осушил хранилище или токены комиссий, пользователи не смогли бы требовать доходы и транзакции не прошли бы. Это по замыслу и не считается уязвимостью.

Серая зона — обсудите сначала

  • Ошибки в примитивах устойчивости к MEV, которые взаимодействуют с внешней инфраструктурой.
  • Граничные случаи интеграции Token-2022, где «правильное» поведение неоднозначно.
  • Экономические / теоретико-игровые атаки, которые не отображаются чётко на ошибку кода.
Если вы не уверены, лучше сообщить об ошибке.

Серьёзность и награды

Сообщения классифицируются с использованием Immunefi Vulnerability Severity Classification System V2.3 в соответствии с моделью Primacy of Rules: условия на этой странице и листинг Immunefi имеют приоритет и превосходят классификацию по умолчанию, где они отличаются. Награды указаны в USD и выплачиваются командой Raydium в RAY, SOL или USDC. Уровни вознаграждения для смарт-контрактов:
СерьёзностьНаграда
Критическая10% от затронутых средств, максимум $505 000, с минимумом $50 000
Высокая$5 000–$40 000
СредняяФиксированно $5 000
Нет отдельного оплачиваемого уровня ниже среднего. Минимум $50 000 для критической серьёзности существует специально, чтобы отговорить исследователей от утаивания сообщения, когда затронутые средства невелики.

Расчёт критической награды

Для активов в основной сети критическая награда составляет 10% от затронутых средств, до максимума $505 000. Если 10% средств под риском падает ниже $50 000, сообщение всё равно получает минимум $50 000. Максимум и основание в виде 10% средств под риском применяются к критическим сообщениям о смарт-контрактах.

Воздействия в области действия

Программа использует стандартизированную таксономию воздействия Immunefi. Примеры, специфичные для Raydium, приведены для иллюстрации того, как каждое воздействие отображается на программы. Критическая
  • Прямая кража любых средств пользователя, в покое или в движении, кроме невостребованного дохода — например, осушение средств LP пользователя через действительную инструкцию Raydium или неограниченная чеканка токенов LP.
  • Постоянное замораживание средств — например, повреждение учёта пула, так что средства становятся постоянно невозвратными.
  • Уязвимости, которые могут постоянно заморозить средства пользователя или осушить или украсть средства без одобрения транзакции пользователем — например, обход органа обновления программы или ошибка кража-всех-комиссий-протокола.
Высокая
  • Кража невостребованного дохода — например, кража ожидающих вознаграждений с ферм или позиций CLMM.
  • Постоянное замораживание невостребованного дохода.
  • Временное замораживание средств на любой период времени — например, замораживание позиции пользователя, чтобы они не могли закрыть её через вредоносную транзакцию.
  • Уязвимости, которые могут временно заморозить средства пользователя или намеренно изменить стоимость средств пользователя — например, манипулирование математикой пула или обход защиты от проскальзывания.
Средняя
  • Смарт-контракт не может работать из-за отсутствия токенов.
  • Заполнение блока для прибыли.
  • Griefing (нет мотива прибыли для злоумышленника, но ущерб пользователям или протоколу) — например, DoS, поддающийся griefing, где все свопы в пуле откатываются.
  • Кража газа.
  • Неограниченное потребление газа.

Каналы контакта

Основной: Immunefi

Программа поиска ошибок Raydium указана на Immunefi. Сообщайте об ошибках через платформу Immunefi:
  1. Создайте учётную запись Immunefi.
  2. Перейдите на страницу программы Raydium.
  3. Отправьте находку с полным PoC. Proof-of-concept требуется для всех уровней серьёзности — объяснения и утверждения не принимаются, требуется рабочий код. Сообщения о критической и высокой серьёзности должны также включать предложенное исправление.
  4. Сообщения обрабатываются быстро — медианное время разрешения программы составляет ~1 день.
Выплаты обрабатываются командой Raydium напрямую, а не через условное хранилище Immunefi — указаны в USD и выплачиваются в RAY, SOL или USDC. KYC не требуется для обработки выплаты.

Альтернатива: отправка по электронной почте

Находки в области действия программы также могут быть отправлены по электронной почте вместо (или в дополнение к) Immunefi:
  • security@raydium.io
  • security@reactorlabs.io
Включите полный рабочий PoC и для сообщений о критической / высокой серьёзности предложенное исправление, как на Immunefi. При необходимости зашифруйте конфиденциальные детали с помощью ключа PGP команды — попросите в письме и команда обменяется ключами. Не отправляйте одну и ту же находку через несколько каналов одновременно (выберите Immunefi или электронную почту).

Прямой контакт (для критических, срочных находок)

Если находка активно эксплуатируется или неминуема и вы не можете ждать проверки Immunefi, самый быстрый вторичный путь:
  • Прямое письмо на security@raydium.io или security@reactorlabs.io — самый быстрый путь для прямого контакта с командой; отметьте строку темы как активную эксплуатацию.
  • Кнопка экстренной помощи Immunefi на странице программы — эскалирует в течение нескольких минут в рабочее время.
  • Зашифрованный контакт через Immunefi — Immunefi может передать сквозное зашифрованное сообщение команде Raydium.
Избегайте публичных каналов (X / Twitter, Telegram, Discord) для сообщений о безопасности — само раскрытие может спровоцировать эксплуатацию. Используйте Immunefi или адреса электронной почты безопасности выше как для сообщения, так и для любого последующего контакта.

Сообщения без вознаграждения (SDK / API / UI)

Для ошибок в компонентах вне области действия программы — SDK, REST API, фронтенд raydium.io или любой внецепевой инфраструктуре — вознаграждения нет, но команда всё равно хочет о них узнать. Используйте:
  • Электронная почта: security@raydium.io или security@reactorlabs.io для всего, что имеет последствия для безопасности (XSS, CSRF, утечки потока аутентификации, повтор подписанного сообщения, спуфинг кошелька, конфиденциальные данные, раскрытые API и т. д.). Зашифруйте с помощью ключа PGP команды, если ошибка чувствительна; попросите в письме и команда обменяется ключами.
  • GitHub issues: для функциональных ошибок, не связанных с безопасностью, в SDK, документации или любом репозитории с открытым исходным кодом, поддерживаемом Raydium. Откройте issue в соответствующем репозитории (например, raydium-io/raydium-sdk-V2).
  • Discord (discord.gg/raydium): подходит для низкоприоритетной обратной связи по UI / UX, которая не касается безопасности. Не публикуйте ничего, что могло бы позволить эксплуатацию, если бы прочитано незнакомцем.
Что вы получаете от сообщений без вознаграждения:
  • Подтверждение в ответе в течение нескольких рабочих дней.
  • Координация между репозиториями, если исправление охватывает программу и SDK.
  • Публичное признание (с вашего согласия) в соответствующем журнале изменений или примечаниях к выпуску.
  • Повторяющиеся авторы существенных находок иногда приглашаются в программу участников; этот путь отделён от программы на цепи и предлагается на дискреционной основе.
Что вы не получаете:
  • Масштабированное вознаграждение, независимо от серьёзности. Программа предназначена для находок кода программы.
  • Покрытие политикой безопасного убежища ниже — эта политика конкретно относится к исследованиям в области действия программы. Для тестирования SDK / API / UI следуйте обычным соглашениям об ответственном раскрытии и стандартным условиям обслуживания.

Правила взаимодействия

Делайте

  • Тестируйте только на локальном форке основной сети или публичной тестовой сети. Вся работа по proof-of-concept должна выполняться на локальном форке.
  • Включите рабочий PoC в сообщение (требуется для всех уровней серьёзности).
  • Оцените экономическое воздействие в меру своих знаний.
  • Предложите исправление — требуется для сообщений о критической и высокой серьёзности.

Не делайте

  • Не тестируйте на основной сети или развёрнутом коде публичной тестовой сети. Любое такое тестирование запрещено; используйте только локальные форки.
  • Не тестируйте с ценовыми оракулами или смарт-контрактами третьих сторон, или с системами, приложениями, расширениями браузера или веб-сайтами третьих сторон.
  • Не раскрывайте публично уязвимость до развёртывания исправления (публичное раскрытие неисправленной ошибки в программе с эмбарго запрещено).
  • Не запускайте автоматизированное тестирование, которое генерирует значительный трафик, или любую атаку отказа в обслуживании на активы проекта.
  • Не пытайтесь фишинг или другую социальную инженерию против членов команды Raydium или пользователей.
  • Не отправляйте одну и ту же находку через более одного канала одновременно — выберите Immunefi или электронную почту, не оба, и никогда через публичные DM.
Эти правила следуют Правилам Immunefi; нарушения делают программу недействительной.

Временная шкала ответа

Медианное время разрешения программы составляет около 1 дня (согласно публичному листингу Immunefi). Фазы ниже указывают на то, как развивается сообщение; точные SLA регулируются листингом Immunefi и процессом проверки, а не этой страницей:
ФазаОриентировочное время
Начальная проверка~1 день (медиана)
Классификация серьёзностиНесколько рабочих дней
Разработка исправленияЗависит от серьёзности + сложности
Развёртывание исправленияПодлежит временной блокировке программы на цепи
Для критических находок трек исправления ускоряется: команда созывает мультиподпись, разрабатывает исправление, отправляет на проверку и ставит в очередь развёртывание с временной блокировкой.

Что не раскрывать публично

До развёртывания исправления и координации раскрытия командой Raydium с вами:
  • Не твитьте о находке (даже расплывчато «я что-то нашёл большое»).
  • Не описывайте класс ошибки третьим лицам.
  • Не делитесь кодом PoC с кем-либо вне команды проверки Raydium.
После развёртывания исправления + окна координированного раскрытия:
  • Публичные статьи приветствуются и поощряются.
  • Raydium будет перепостить существенные статьи.
  • Исследователи, согласившиеся быть названными, указаны в Immunefi Whitehat Hall of Fame.

Политика безопасного убежища

Исследования, проведённые в соответствии с областью действия и правилами выше, явно авторизованы. Raydium:
  • Не будет преследовать добросовестные исследования, которые следуют этой политике.
  • Не будет препятствовать исследовательской деятельности (например, чёрный список кошельков исследователей).
  • Будет сотрудничать в понимании находки.
Исследования вне области действия или правил не защищены политикой безопасного убежища. Если ваш план исследования находится на грани, спросите через канал “Ask Project” Immunefi перед тестированием.

Заметные прошлые раскрытия

Агрегированная статистика по программе поиска ошибок кода программы, которая работает на Immunefi с 25 апреля 2023 года (цифры согласно публичному листингу Immunefi):
  • Общие выплаченные награды на сегодняшний день: ~$3,4M.
  • Медианное время разрешения: ~1 день.
Immunefi Whitehat Hall of Fame перечисляет исследователей, согласившихся быть названными. Сообщения без вознаграждения (SDK / API / UI) отслеживаются отдельно и признаются в примечаниях к выпуску соответствующего репозитория, а не на Immunefi.

Связанные программы

  • Solana Foundation Bug Bounty — охватывает ошибки клиента валидатора Solana (sealevel, consensus). Сообщайте туда о проблемах на уровне Solana. solana.com/security.
  • Squads Protocol Bug Bounty — охватывает саму мультиподпись. squads.so/security.
  • Immunefi — охватывает многие DeFi-протоколы, включая Raydium. immunefi.com.
Ошибка, охватывающая несколько уровней (например, ошибка валидатора Solana, которая проявляется на Raydium), должна быть сообщена всем применимым программам.

Ссылки

Источники: