ОТЧЕТ АУДИТА СИСТЕМЫ

 


ОТЧЕТ АУДИТА СИСТЕМЫ (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.



Комментарии

Популярные сообщения из этого блога

Технический Аудит: Aegis-Stream Control Panel (v1.3.36).