Share
## https://sploitus.com/exploit?id=F48E3B51-42E6-5D54-A1C1-A9A6148D20D2
# CyberSec Lab — Интерактивный тренажёр по информационной безопасности





**Автор:** Дуплей Максим Игоревич (Dupley Maxim Igorevich)
**Учебное направление:** 09.03.04 Программная инженерия
---
## О проекте
CyberSec Lab — это интерактивное веб-приложение для обучения основам информационной безопасности. Проект разработан как учебный тренажёр, позволяющий студентам направления «Программная инженерия» на практике изучить наиболее актуальные угрозы веб-безопасности, методы защиты и принципы безопасной разработки.
Тренажёр содержит **7 обучающих модулей**, систему квизов с таймером, систему достижений, глоссарий терминов и набор интерактивных криптографических инструментов. Все материалы представлены на русском языке и опираются на актуальные стандарты безопасности, включая OWASP Top 10 (2021).
---
## Возможности
### Обучающие модули
| Модуль | Описание |
|--------|----------|
| **OWASP Top 10** | 10 категорий уязвимостей с примерами уязвимого и безопасного кода, реальными кейсами и методами защиты |
| **SQL-инъекции** | 4 интерактивных задания (новичок, продвинутый, эксперт) с визуализацией SQL-запросов |
| **XSS-атаки** | 3 типа XSS (отражённый, хранимый, DOM-based) с интерактивной демонстрацией санитизации |
| **CSRF** | Пошаговая симуляция CSRF-атаки с визуализацией этапов |
| **Аутентификация** | Проверка надёжности паролей, визуализатор брутфорса, демо хеширования, JWT-разбор |
| **Безопасное кодирование** | 5 задач на ревью кода с поиском уязвимостей и предложениями по исправлению |
| **Инструменты** | Шифры Цезаря, Виженера, XOR; кодирование Base64/URL; хеширование; генератор паролей |
### Система тестирования
- **25 вопросов** по 5 категориям безопасности
- Таймер на 30 минут
- Система оценки с разбивкой по темам
- Подробный разбор ответов после завершения
### Достижения и геймификация
- **10 достижений** с условиями разблокировки
- Отслеживание прогресса в реальном времени
- Глоссарий из **34 терминов** с поиском и фильтрацией по категориям
---
## Технологический стек
- **Frontend:** Next.js 16, React 19, TypeScript
- **Стилизация:** Tailwind CSS 4, shadcn/ui
- **Анимации:** Framer Motion
- **Подсветка кода:** React Syntax Highlighter
- **Управление состоянием:** Zustand (с персистентностью через localStorage)
- **Иконки:** Lucide React
- **Сборщик:** Bun
---
## Структура проекта
```
cybersec-lab/
├── src/
│ ├── app/
│ │ ├── layout.tsx # Корневой layout приложения
│ │ ├── page.tsx # Главная страница (точка входа в тренажёр)
│ │ ├── globals.css # Глобальные стили
│ │ └── api/
│ │ └── route.ts # API-маршруты
│ ├── components/
│ │ ├── security-trainer/
│ │ │ ├── Sidebar.tsx # Навигационная боковая панель
│ │ │ ├── Dashboard.tsx # Главная панель с обзором модулей
│ │ │ ├── OWASPTop10.tsx # Модуль OWASP Top 10
│ │ │ ├── SQLInjectionLab.tsx # Лаборатория SQL-инъекций
│ │ │ ├── XSSLab.tsx # Лаборатория XSS-атак
│ │ │ ├── CSRFLab.tsx # Лаборатория CSRF
│ │ │ ├── AuthSecurityLab.tsx # Безопасность аутентификации
│ │ │ ├── SecureCodingLab.tsx # Задачи на безопасное кодирование
│ │ │ ├── ToolsLab.tsx # Криптографические инструменты
│ │ │ ├── AchievementsGlossary.tsx # Достижения и глоссарий
│ │ │ ├── QuizSystem.tsx # Система тестирования с таймером
│ │ │ └── CodeBlock.tsx # Компонент подсветки кода
│ │ └── ui/ # Библиотека shadcn/ui компонентов
│ ├── lib/
│ │ ├── security-data.ts # Учебные данные (OWASP, SQL, XSS, квизы)
│ │ ├── store.ts # Zustand store для управления состоянием
│ │ └── utils.ts # Утилиты
│ └── hooks/ # Пользовательские хуки
├── public/
│ ├── security-logo.png # Логотип проекта
│ └── robots.txt
├── prisma/
│ └── schema.prisma # Схема базы данных
├── LICENSE # Лицензия (English)
├── LICENSE_RU # Лицензия (Русский)
├── README.md # Документация проекта
├── package.json # Зависимости и скрипты
├── tsconfig.json # Конфигурация TypeScript
├── next.config.ts # Конфигурация Next.js
├── tailwind.config.ts # Конфигурация Tailwind CSS
└── eslint.config.mjs # Конфигурация ESLint
```
---
## Установка и запуск
### Требования
- **Node.js** 18.17 или выше
- **Bun** 1.0 или выше (рекомендуется)
### Установка
```bash
# Клонирование репозитория
git clone
cd cybersec-lab
# Установка зависимостей
bun install
```
### Запуск в режиме разработки
```bash
bun run dev
```
Приложение будет доступно по адресу: [http://localhost:3000](http://localhost:3000)
### Сборка для продакшена
```bash
bun run build
bun run start
```
---
## Использование
1. Откройте приложение в браузере
2. На **панели управления** выберите интересующий модуль
3. Изучайте теорию и выполняйте практические задания
4. Прогресс сохраняется автоматически в localStorage
5. Проверьте свои знания в **системе тестирования** (кнопка «Квиз» в боковом меню)
6. Отслеживайте разблокированные **достижения** и используйте **глоссарий** для уточнения терминов
---
## Лицензия
Проект распространяется под лицензией MIT с сохранением интеллектуальной собственности.
- **Владелец:** Дуплей Максим Игоревич (Dupley Maxim Igorevich)
- См. файлы [LICENSE](./LICENSE) и [LICENSE_RU](./LICENSE_RU) для подробностей.
---
## Контакт
**Дуплей Максим Игоревич**
Направление: 09.03.04 Программная инженерия