cryptofoundry

Связаться с cryptofoundry

Расскажите, что вы хотите создать или автоматизировать.

Электронная почта
[email protected]
ADAMANT Messenger
Открыть в ADAMANT
Ecosystem & Integrations

Обзор безопасности и надежности ADAMANT Explorer

ADAMANT Explorer завершил целенаправленный обзор безопасности и надежности своей публичной HTTP-поверхности, границы ADAMANT Node, поведения кэша Redis, жизненного цикла Socket.IO, доверия обратному прокси и рендеринга в браузере. Усиления были объединены в adamant-explorer#37 и закрывают задачи #23, #25 и #33. Обзор охватил порядок промежуточных обработчиков Express, доступность публичного API, валидацию, ограничение частоты запросов, доверие обратному прокси, ответы ADAMANT Node как границу недоверенных данных, корректность кэша Redis и поведение при сбоях, опрос и переподключения Socket.IO, рендеринг в браузере значений, управляемых Node и пирами, сбои опциональных зависимостей, непрерывность обменных курсов, отчетность о состоянии системы и моделирование угроз для репозитория.

Публичная HTTP-поверхность и граница API

Теперь Explorer предоставляет только 12 API-маршрутов одного источника, необходимых для его интерфейса, а также GET /api/networkHealth. Шестнадцать устаревших регистраций маршрутов и wildcard CORS были удалены. Запросы проверяются на соответствие точной API-поверхности до обращения к Redis или проверок готовности ADAMANT, что предотвращает восстановление удаленных эндпоинтов через устаревшие записи кэша. Публичные параметры запросов теперь используют строгую валидацию и ограниченную пагинацию. Приложение применяет учитывающее прокси, внутрипроцессное ограничение с фиксированным окном в 300 API-запросов в минуту на клиент, с ограниченным хранилищем идентичности и отказоустойчивым переполненным буфером. Доверие обратному прокси задано явно и проверяется. Заголовки безопасности, ограниченный Content Security Policy, стабильные ответы об ошибках, HTTP-таймауты и минимизированное логирование запросов дополнительно сокращают доступную поверхность атаки.

Доступность и корректность состояния

GET /api/networkHealth возвращает согласованные состояния live, degraded, critical или unavailable, отдавая HTTP 503 только тогда, когда невозможно получить согласованный снимок Node. Сбои Redis и опциональных внешних сервисов больше не приводят к падению основного HTTP и обслуживания статики. Идентичность кэша чувствительна к блокам там, где это необходимо, а путь обновления обменного курса сохраняет пригодные последние известные значения, избегая при этом перекрывающихся обновлений. Опрос Socket.IO сериализован, учитывает жизненный цикл и ограничен при сбоях вышестоящих компонентов. Отслеживание генераций, явное владение таймерами и подавление устаревших обратных вызовов предотвращают продолжение устаревшей работы отключенными или перезапущенными пространствами имен.

Недоверенные данные и безопасность браузера

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

Совместимость и влияние на интеграции

Сохраненный API Explorer является деталью реализации веб-интерфейса, а не API общего назначения для интеграции. Внешним приложениям следует использовать adamant-api-jsclient для прямой интеграции с ADAMANT Node. Операторы могут использовать GET /api/networkHealth для мониторинга Explorer. Существующие маршруты фронтенда и глубокие ссылки остаются совместимыми. Развертывания за обратным прокси должны настраивать trustedProxies в соответствии с фактической топологией. Предпочтительны HTTPS-узлы; один устаревший резервный вариант с открытым HTTP сохранен для совместимости.

Объем и дальнейшие шаги

Это был аудит кода и архитектуры репозитория Explorer и его границ доверия в среде выполнения, а не аудит криптографического протокола или консенсуса блокчейна. Ограничитель частоты намеренно работает в рамках одного процесса, поэтому развертывания с несколькими репликами должны также обеспечивать суммарное ограничение на уровне периметра. Доступны модель угроз репозитория и полный обзор безопасности и надежности. Открытые задачи на будущее включают опциональные настройки приватности IP-адресов пиров, крупные обновления зависимостей фронтенда, валидацию схемы ответов ADAMANT Node и повторные попытки при сбоях и агрегацию логов.