Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LabSite — AppSec-тренажёр для практики triage

Live demo Project status Interface

LabSite — 100+ практических заданий

LabSite — интерактивный тренажёр для развития навыков безопасного ревью кода и AppSec-триажа. Пользователь не угадывает название уязвимости: он собирает цепочку доказательств, проверяет достижимость, оценивает реальный impact и выбирает исправление, устраняющее первопричину.

В проекте доступно 100+ практических заданий и интерактивных испытаний. Полный исходный код и каталоги ответов находятся в приватном репозитории, поэтому эта публичная версия служит безопасной продуктовой и технической витриной.

Возможности

  • Practice — поиск уязвимых строк в реалистичном многофайловом коде;
  • Expert Review — вердикт, цепочка доказательств и оценка достижимости;
  • CVE Lab — 10+ интерактивных кейсов со слепым анализом до раскрытия CVE;
  • Hardening — короткие упражнения по безопасной конфигурации;
  • Interview — симуляция технического AppSec-собеседования с таймером;
  • Learning — материалы, связанные с практическими заданиями;
  • Progress — аккаунты, сохранение результатов и лидерборд;
  • RU / EN — полноценный двуязычный интерфейс.

Продуктовый принцип

Главная цель LabSite — тренировать не узнавание известных названий, а процесс triage:

  1. доказать, что компонент действительно затронут;
  2. проверить, достижим ли уязвимый путь в конкретной конфигурации;
  3. оценить impact без преувеличения;
  4. отличить временный workaround от исправления первопричины.

Архитектура

flowchart LR
    U["Пользователь"] --> UI["Vanilla JS интерфейс"]
    UI --> API["Express API"]
    API --> CAT["Закрытый каталог заданий"]
    API --> DB["PostgreSQL / SQLite"]
    API --> REDIS["Redis: rate limits и сессии"]
    CAT --> CHECK["Серверная проверка ответа"]
    CHECK --> UI
Loading

Браузер получает только условие, код и разрешённые метаданные. Правильные строки, evidence, объяснения и remediation остаются на сервере и возвращаются только после проверенного решения.

Подробнее: архитектура и границы доверия.

Технологии

Область Стек
Frontend Vanilla JavaScript, HTML, CSS
Backend Node.js, Express
Данные PostgreSQL в production, SQLite локально
Инфраструктура Vercel, Redis
Проверки Node Test Runner, GitHub Actions
Безопасность серверная валидация, CSRF-защита, rate limiting, изоляция ответов

Что я реализовал

  • спроектировал тренажёр вокруг evidence-based AppSec triage;
  • подготовил 100+ практических заданий и интерактивных испытаний;
  • разделил публичные данные задач и закрытые серверные ответы;
  • добавил автоматическую проверку отсутствия утечек в клиентский бандл;
  • реализовал аутентификацию, прогресс, лидерборд и восстановление сессий;
  • разработал CVE Lab со слепым режимом анализа;
  • добавил RU/EN-локализацию и адаптивный интерфейс;
  • настроил CI, приватную разработку через Pull Request и staged deployment.

Безопасность публичной витрины

Этот репозиторий намеренно не содержит:

  • исходный каталог заданий и правильные ответы;
  • серверные секреты и переменные окружения;
  • пользовательские данные и базы данных;
  • конфигурацию production-инфраструктуры;
  • историю приватного репозитория.

Правила ответственного сообщения о проблемах описаны в SECURITY.md.

Статус

Проект находится в активной разработке. Развиваются новые механики triage, расширяется CVE Lab и улучшается аналитика результатов по отдельным навыкам.

English

LabSite is an interactive secure code-review and AppSec triage trainer with 100+ hands-on tasks and interactive challenges. Instead of recognizing a famous vulnerability by name, learners must establish affectedness, prove reachability, assess realistic impact, and select a root-cause remediation.

The product includes Practice, Expert Review, Hardening drills, Interview mode, 10+ blind CVE challenges, learning materials, persistent progress, and a bilingual RU/EN interface.

The production source code and answer catalogs remain private. This repository is a deliberately sanitized product and engineering showcase.

Links

About

LabSite — AppSec triage trainer with 100+ hands-on tasks and challenges.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors