Мы разрабатываем fullstack-проект:
- Фронтенд и часть бэкенда — Next.js (Vercel)
- Основной API — .NET 8 WebAPI (Windows-сервер)
- Аутентификация — через Clerk.com
- Взаимодействие: REST и SignalR (вызовы с клиента)
[:1f50d] Найденные уязвимости (Next.js)
SignalR подключается напрямую из клиента
[:26d4] Возможна подделка действий
[:2705] Решение: проксирование через API или проверка токена на сервере
API-роуты без централизованной проверки токена
[:26d4] Можно обратиться без авторизации
[:2705] Есть middleware, но требует ревизии
Роль пользователя берётся из cookie
[:26d4] Cookie можно фальсифицировать
[:2705] Лучше использовать токен Clerk или запрос к Clerk API
[:2705] Что нужно сделать
- Провести аудит безопасности (middleware, SignalR, токены)
- Централизовать проверку Clerk токена
- Заменить cookie user.role на безопасный источник
- Обеспечить защиту приватных API/страниц
- При необходимости — перенести SignalR на сервер
[:1f3af] Цель
Защитить от подделки запросов и несанкционированного доступа
Сохранить текущую архитектуру
.NET-бэкенд — вне зоны задачи (будет обрабатываться отдельно)