Поиск уязвимостей
Денежное вознаграждение не предлагается
Эта программа только на признание. Оператор этой инсталляции не финансировал платную программу, и мы предпочтём сказать об этом прямо, чем позволить вам потратить выходные на отчёт в расчёте на выплату. На корректные сообщения мы отвечаем по существу, выпускаем исправление и указываем авторство, если вы этого хотите.
Как сообщить
Пишите на [email protected]. Пожалуйста, приложите:
- затронутый URL или эндпоинт API и точный запрос;
- что вы ожидали и что произошло;
- минимальное подтверждение концепции — самый маленький запрос, который это показывает;
- для ошибки в корректности данных: хеш транзакции, высоту блока или адрес и то число, которое вы считаете неверным;
- ваше имя или ник, если хотите быть упомянутым.
Дайте оператору разумный срок на исправление до публикации — 90 дней считаются нормой, и мы просим именно об этом. Сообщайте обо всём, что нашли добросовестно, и останавливайтесь, как только получили подтверждение концепции: не углубляйтесь дальше, не получайте доступ к чужим данным и не выгружайте их, не ухудшайте сервис для других читателей. Тестирование, остающееся в этих рамках, не повлечёт со стороны оператора юридических действий.
В области программы
- Удалённое выполнение кода, SQL-инъекции, SSRF
- Всё, что позволяет запросу добраться до базы индекса, непубличных интерфейсов ноды Arc или до самого хоста, — это наивысшая тяжесть из возможных для нас.
- Хранимый или отражённый XSS
- Строки на этом сайте выбирают те, кто разворачивает контракты: названия и символы токенов, причины отката, версии компилятора. На выходе они санируются, и обход этого санитайзера входит в область программы.
- Ошибки в данных, вводящие читателя в заблуждение
- Неверно показанный баланс, сумма, комиссия или перевод. Путаница между нативным масштабом USDC с 18 знаками и интерфейсом ERC-20 с 6 знаками. Адрес, контракт или транзакция, приписанные не тому субъекту. Это может стоить кому-то денег и рассматривается как проблема безопасности, а не как косметика.
- Обход ограничения частоты и отказ в обслуживании
- Одиночный запрос, потребляющий непропорционально много работы на бэкенде, или способ обойти побайтовый бюджет на IP ухудшает бесплатный сервис для всех. Пожалуйста, сообщите об этом, а не демонстрируйте объёмом.
- Отравление кеша
- Arc не может реорганизоваться, поэтому ответы, привязанные к зафиксированной высоте, кешируются навсегда. Любой способ поместить в этот кеш неверный ответ серьёзен и по построению долгоживущ.
Вне области программы
У Arcscan нет аккаунтов, сессий, cookie, платежей и пользовательского контента. Поэтому значительной части стандартного чек-листа веб-приложения здесь просто не на что нападать, и сообщения из этих категорий закрываются без исправления:
- Отсутствие заголовков безопасности, флагов cookie или предпочтительных настроек TLS без продемонстрированного воздействия. На этом сайте нет ни cookie, ни сессий.
- Отсутствие SPF, DKIM, DMARC или иных почтовых настроек.
- Кликджекинг на страницах, где нет действий, изменяющих состояние, — то есть на любой странице здесь.
- CSRF на неавторизованных эндпоинтах только для чтения. Входа нет, поэтому подделывать нечего.
- Ограничение частоты запросов, поданное как проблема доступности: ограничение сделано намеренно и задокументировано.
- Вывод автоматического сканера без работающего подтверждения концепции или описанного воздействия.
- Отказ в обслуживании, продемонстрированный флудом. Опишите усиление, но не запускайте его.
- Социальная инженерия в отношении оператора и физические атаки на инфраструктуру.
- Уязвимости в сети Arc, её нодовом ПО или в любом стороннем контракте, который этот сайт индексирует. Они относятся к своим сопровождающим, а не к Arcscan.
- Содержимое смарт-контракта, токена или адреса, которое сайт лишь отображает, — включая мошенничество. Сообщайте о таком на соответствующую площадку; Arcscan индексирует цепь, а не курирует её.
- Self-XSS и всё, что требует, чтобы жертва сама вставила код в свою консоль.
Что на самом деле стоит за этим сайтом
Полезный контекст, прежде чем вы начнёте искать. Arcscan — это фронтенд на Next.js, сервис FastAPI только на чтение, индекс в PostgreSQL и нода Arc. Нода этим приложением в интернет не выставлена, у API нет пишущих эндпоинтов, кроме отправки подписанной транзакции — которая пересылает её в цепь и ничего не сохраняет, — а в индекс пишет только процесс индексатора, никогда не веб-запрос.
Контракт API опубликован по адресу /apis и генерируется из живой схемы. Актуальное состояние сервисов — на странице состояния сети. И то и другое — более продуктивная отправная точка, чем сканер.