Пакет документов для аудита безопасности¶
Краткое описание¶
Saga — DeFi-платформа для инвестирования, позволяющая пользователям вносить криптовалюту, инвестировать в доходные стратегии и выводить средства. Платформа приоритизирует безопасность через enterprise custody решения (Fordefi), профессиональную обработку депозитов (Crypto2B) и надёжную систему аутентификации (Supabase Auth + Backend JWT).
Ключевые характеристики безопасности¶
| Аспект | Реализация |
|---|---|
| Управление приватными ключами | Отсутствует на платформе — вся custody через Fordefi |
| Аутентификация | Двухуровневая: Supabase Auth (OAuth/email) + Backend JWT |
| Авторизация | Ролевая модель (User/Admin) с middleware проверками |
| Финансовые операции | Многоступенчатое одобрение с контролем администратора |
| API безопасность | Rate limiting, CORS, CSP, security headers |
Индекс документов¶
Основная документация по безопасности¶
| Документ | Описание |
|---|---|
| Архитектура безопасности | Дизайн системы, границы доверия, уровни защиты |
| Модель угроз | STRIDE анализ, векторы атак, меры противодействия |
| Матрица контролей | Контроли безопасности с привязкой к угрозам |
| Потоки данных | Диаграммы потоков данных с контекстом безопасности |
| Зависимости | Сторонние зависимости, SBOM, supply chain |
Существующие отчёты об уязвимостях¶
| Отчёт | Критичность | Статус |
|---|---|---|
| RPC Proxy Security | ВЫСОКАЯ | ИСПРАВЛЕНО |
| Rate Limiting DoS | ВЫСОКАЯ | ИСПРАВЛЕНО |
| SafeDecimal Overflow | СРЕДНЯЯ | ИСПРАВЛЕНО |
| Deposit/Withdrawal Rate Limiting | ВЫСОКАЯ | ИСПРАВЛЕНО |
Справочные документы по архитектуре¶
| Документ | Описание |
|---|---|
| Архитектура аутентификации | JWT система, интеграция Supabase |
| JWT архитектура | Типы токенов, валидация, middleware |
| Процесс вывода средств | Интеграция Fordefi custody |
| API Endpoints | Полная документация API |
Технологический стек¶
Backend (Go 1.24)¶
| Компонент | Библиотека | Назначение |
|---|---|---|
| HTTP Router | gorilla/mux | Маршрутизация запросов |
| JWT | golang-jwt/jwt/v4 | Генерация/валидация токенов |
| База данных | jmoiron/sqlx + lib/pq | Доступ к PostgreSQL |
| Валидация | go-playground/validator | Валидация входных данных |
| Decimal | shopspring/decimal | Финансовые вычисления |
| Санитизация | microcosm-cc/bluemonday | Защита от HTML/XSS |
| Криптография | go-ethereum | Валидация Ethereum адресов |
Frontend (Next.js 15)¶
| Компонент | Библиотека | Назначение |
|---|---|---|
| Framework | Next.js 15 | React SSR/SSG |
| Валидация | Zod | Runtime проверка типов |
| Состояние | @tanstack/react-query | Управление серверным состоянием |
| Тестирование | Playwright | E2E тесты безопасности |
Внешние сервисы¶
| Сервис | Провайдер | Назначение |
|---|---|---|
| Аутентификация | Supabase Auth | OAuth, email auth, MFA |
| Custody | Fordefi | Enterprise криптo custody |
| Депозиты | Crypto2B | Генерация депозитных адресов |
| База данных | PostgreSQL 15 | Основное хранилище данных |
Область аудита¶
В области аудита¶
- Аутентификация и авторизация
- Генерация и валидация JWT токенов
- Интеграция Supabase Auth
- Разделение ролей Admin/User
-
Permission middleware
-
API безопасность
- Валидация входных данных
- Rate limiting
- Конфигурация CORS
-
Security headers (CSP, HSTS и др.)
-
Финансовые операции
- Расчёт балансов (SafeDecimal)
- Workflow одобрения вывода средств
-
Целостность транзакций
-
Защита данных
- Безопасность схемы БД
- Обработка чувствительных данных
-
Логирование (без секретов в логах)
-
Инфраструктура
- Безопасность Docker контейнера
- Blue-green deployment
- Конфигурация HTTPS/TLS
Вне области аудита¶
- Сторонние сервисы (покрыты их собственными аудитами)
- Платформа Fordefi custody
- Обработка депозитов Crypto2B
-
Платформа Supabase Auth
-
Смарт-контракты (отдельный блокчейн-аудит)
-
Физическая безопасность
Контактная информация¶
Вопросы по аудиту:
- Технический лид: Reddy ID 44652172387
- Контакт безопасности: security@saga.fund
Чек-лист аудита¶
До аудита¶
- NDA подписан
- VPN/защищённый доступ предоставлен
- Учётные данные тестовой среды переданы
- Пакет документации доставлен
Во время аудита¶
- Еженедельные синхронизации запланированы
- Канал отчётности о находках установлен
- Классификация критичности согласована
После аудита¶
- Финальный отчёт получен
- План исправлений создан
- Повторное тестирование запланировано (при необходимости)