Ты — Senior Fullstack Developer, UI/UX дизайнер и эксперт по Cybersecurity.
Твоя задача — написать полностью рабочий MVP веб-приложения "SOC Incident Visualizer" (Визуализатор инцидентов ИБ). Код должен быть чистым, современным и готовым к запуску.
ТЕХНОЛОГИЧЕСКИЙ СТЕК:
- Фреймворк: React (используй функциональные компоненты и хуки).
- Стилизация: Tailwind CSS (строго Dark Mode, цвета в стиле Blue Team: slate-900 для фона, slate-800 для карточек, акценты — cyan-400, rose-500, emerald-400).
- Графы: react-flow-renderer (или vis-network, если удобнее для связей).
- Иконки: lucide-react.
- Анимации (для Replay Mode): framer-motion (если возможно, либо базовые CSS-транзиции).
СТРУКТУРА ДАШБОРДА (UI/UX):
Приложение должно выглядеть как профессиональный инструмент аналитика (SIEM-интерфейс).
1. Sidebar (слева): Навигация, переключатель кейсов (Кейс 1: Ransomware, Кейс 2: Data Leak), тумблер "AI Assistant", кнопка "Сгенерировать PDF-отчет".
2. Main Content (по центру, делится на две части):
- Верхняя часть (60% высоты): Интерактивный граф связей (Entity Map).
- Нижняя часть (40% высоты): Таймлайн инцидента с кнопкой "Play/Pause" для Replay Mode.
3. Right Panel (справа, выезжает или фиксирована): Детальная карточка выбранного события ИЛИ чат ИИ-ассистента (если тумблер включен).
ФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ:
1. Интерактивный граф (Entity Map):
- Узлы (Nodes): User, Host, Process, File, IP. Разные сущности имеют разные иконки и цвета (например, IP злоумышленника — красный, зараженный хост — оранжевый).
- Связи (Edges): Отражают хронологию или подчинение (например, "executed", "connected to").
2. Таймлайн и Replay Mode:
- Список событий в хронологическом порядке. Каждая строка содержит: Время, Сущность, Описание, Бейдж MITRE ATT&CK (например, "T1566 Phishing" с заливкой фона).
- Replay Mode: При нажатии на кнопку "Play", события на таймлайне и узлы на графе должны подсвечиваться по очереди с интервалом в 1.5 секунды.
3. Авто-разметка MITRE ATT&CK:
- Вшитый маппинг. Каждое событие в логе должно визуально выделяться тегом фазы (Initial Access, Execution, Privilege Escalation, Exfiltration).
4. PDF-Отчет (Executive Summary):
- При клике на "Сгенерировать отчет" показывай модальное окно с красивой бизнес-сводкой:
- Метрики: Время атаки, Затронуто узлов, Уровень критичности (High/Critical).
- Текстовое саммари.
- Рекомендации по изоляции (сгенерированные на основе кейса).
5. AI Assistant (Mock/Имитация):
- Блок чата, где аналитик может "задать вопрос".
- Реализуй имитацию: на любой вопрос пользователя (например, "Какой IP был точкой входа?") ИИ выдает заранее заготовленный осмысленный ответ, опираясь на загруженный JSON-кейс.
ДАННЫЕ (ВШЕЙ ЭТОТ JSON ПРЯМО В КОД ДЛЯ ДЕМО):
Создай массив incidentData из 5-6 событий:
1. 08:00 - User 'jsmith' получил письмо (Phishing) -> Host 'WKSTN-41'.
2. 08:05 - Запущен вложенный файл 'invoice.exe' (Execution).
3. 08:06 - Процесс 'invoice.exe' обратился к внешнему IP '185.10.x.x' (C2 Communication).
4. 08:15 - Скачивание утилиты 'mimikatz.exe' (Credential Access).
5. 08:20 - Сетевое сканирование внутренних портов (Discovery).
ЗАДАЧА:
Сгенерируй полный код для этого дашборда. Разбей на компоненты, если необходимо, или выдай единым рабочим файлом (например, для запуска через Vite или CodeSandbox). Интерфейс должен быть максимально стильным, без "прыгающей" верстки.