ОТЧЕТ АУДИТА СИСТЕМЫ
ОТЧЕТ АУДИТА СИСТЕМЫ (v 1.3.18)
1. Критическая уязвимость: Генерация энтропии (Security)
Статус: <span style="color: #ef4444;">КРИТИЧЕСКИЙ</span>
Модуль: services/aegisService.ts
Проблема: Используется Math.random() для генерации HWID и сессионных ключей. Это псевдослучайный генератор, не являющийся криптографически стойким. В контексте "Secure Video Engine" это недопустимо.
Решение: Немедленная замена на window.crypto.getRandomValues(). Это соответствует стандартам Rust (аналог rand::OsRng).
2. Управление памятью: Запись видео (Performance)
Статус: <span style="color: #f59e0b;">ВНИМАНИЕ</span>
Модуль: components/SecureCall.tsx
Проблема: Массив recordedChunksRef хранится в оперативной памяти (RAM) до момента сохранения. При записи 100 МБ на мобильном устройстве возможен вылет браузера (OOM Kill).
Рекомендация: В текущей симуляции ограничение в 100 МБ работает как предохранитель, но архитектурно лучше использовать StreamSaver.js или писать чанками в IndexedDB.
3. "Грязный хак" синхронизации потоков (Code Quality)
Статус: <span style="color: #f59e0b;">КОСТЫЛЬ</span>
Модуль: components/SecureCall.tsx -> useEffect (syncStreams)
Проблема: Использование setTimeout(syncStreams, 150) для привязки srcObject. Это "гонка состояний". Видео может не прикрепиться, если React-рендер задержится дольше 150мс.
Решение: Использование callback ref для видео-элементов гарантировало бы привязку потока в момент монтирования DOM-узла.
4. Блокировка UI потока (UX/Performance)
Статус: <span style="color: #3b82f6;">ИНФОРМАЦИЯ</span>
Модуль: components/EntropyAnalyzer.tsx
Проблема: Расчет гистограммы Шеннона происходит в основном потоке. При загрузке файла > 50 МБ интерфейс "замерзнет".
Решение: Вынос вычислений в Web Worker.
Комментарии
Отправить комментарий