Назад к обновлениям
New releaseAug 12, 2026

oss-oopssec-store v2.18.0

Обучение безопасности для реально выпускаемых приложений. Откройте браузер и начинайте взламывать.

Поделиться

OSS - OopsSec Store

Намеренно уязвимое e-commerce приложение для изучения веб-безопасности.
Освойте реальные векторы атак через реалистичную CTF-платформу.
Охотьтесь за флагами, эксплуатируйте уязвимости и прокачивайте свои навыки в области безопасности.

Docker Hub · npm · Roadmap · Walkthroughs · Contributing · Good first issues

GitHub license PRs Welcome Good first issues Intentionally Vulnerable
GitHub stars GitHub forks


   ____  ____ ____     ____                  ____            ____  _
  / __ \/ __// __/    / __ \ ___   ___  ___ / __/ ___  ____ / __/ / /_ ___   ____ ___
 / /_/ /\ \ _\ \     / /_/ // _ \ / _ \(_-<_\ \  / -_)/ __/_\ \  / __// _ \ / __// -_)
 \____/___//___/     \____/ \___// .__/___/___/  \__/ \__//___/  \__/ \___//_/   \__/
                                /_/

# Node.js
npx create-oss-store my-ctf-lab && cd my-ctf-lab && npm start

# Docker
docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store

# Then open http://localhost:3000 and start hacking
OopsSec Store storefront

Содержание


[!WARNING] Это приложение содержит намеренные уязвимости в безопасности и никогда не должно разворачиваться в производственной среде.

Возможности

  • Намеренно уязвимое e-commerce приложение (XSS, CSRF, IDOR, JWT-атаки, path traversal, SQL-инъекции и многое другое)
  • Построено на Next.js, React, Prisma и SQLite
  • REST API с документированными векторами атак
  • 36 CTF-задач в 11 главах, оформленных как структурированная дорожная карта обучения
  • Документация по уязвимостям и walkthroughs сообщества для каждого задания
  • Гид по TryHackMe roomThe Summer Audit, 8 задач и 7 флагов, как повествовательная отправная точка для новичков
  • Автоматизированные тесты, проверяющие, что эксплойты всё ещё работают (PR, которые случайно исправляют уязвимость, провалят CI)

Почему OopsSec Store?

OopsSec Store — единственное намеренно уязвимое веб-приложение, построенное на Next.js и React. Это стек, с которым вы реально столкнётесь в продакшене. А поверхность атак эпохи ИИ является частью основной учебной программы, а не дополнением: prompt injection, отравление MCP-инструментов, бэкдоры для ИИ-агентов кодинга и цепочка атак на цепочку поставок npm, смоделированная от начала до конца.

OopsSec StoreJuice ShopDVWA
СтекNext.js · React · PrismaNode.js · Express · AngularPHP · MySQL
Установкаnpx create-oss-store (< 1 мин) / DockerDocker / npmDocker / ручной LAMP
CTF-флаги✅ Встроены✅ Опциональный CTF-режим
Гид по обучению✅ 1 дорожная карта, 11 глав, 36 флагов❌ Только таблица очковЧастично (уровни безопасности)
Walkthrough для каждого задания✅ Сопутствующее руководствоЧастично (подсказки)
LLM prompt injection✅ Подключите бесплатный API-ключ✅ v20+, принесите и настройте свою LLM
Отравление MCP-инструментов
Бэкдор для ИИ-агента кодинга (отравленный файл правил)
Цепочка атак на цепочку поставок✅ Смоделирована от начала до конца: npm typosquat → бэкдор в правилахЧастично — только идентификация
Задания на основе реальных CVE
Зал славы для игроков

Последняя проверка: июнь 2026, против Juice Shop v20 и DVWA 2.x. Заметили неточность? Откройте issue или откройте PR.

Установка

Быстрый старт

npx create-oss-store my-ctf-lab
cd my-ctf-lab
npm start

Затем откройте http://localhost:3000 в вашем браузере.

Ручная установка

Клонируйте репозиторий и запустите скрипт установки:

git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
npm run setup

Это создаст файл .env, установит зависимости, настроит базу данных SQLite, заполнит её CTF-флагами и запустит приложение на порту 3000.

Docker

Node.js не требуется. Просто Docker.

127.0.0.1:3000:3000 делает лабораторию доступной только с вашей собственной машины. Используйте обычный -p 3000:3000 только на изолированной VM, которой вы управляете.

Из Docker Hub (самый быстрый способ)

docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store

Для сохранения данных между перезапусками:

docker run -p 127.0.0.1:3000:3000 -v oss-data:/app/data leogra/oss-oopssec-store

Из исходников (Docker Compose)

git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
docker compose up -d

Или с помощью npm-скриптов:

npm run docker:up       # Запуск в фоне (собирает образ при первом запуске)
npm run docker:logs     # Просмотр логов контейнера
npm run docker:down     # Остановка контейнера
npm run docker:reset    # Очистка данных и перезапуск с нуля

База данных инициализируется при первом запуске. Данные сохраняются между перезапусками через именованные тома Docker. Чтобы сбросить всё (прогресс по флагам, пользователей, загрузки), выполните npm run docker:reset.

Зал славы

Нашли все флаги? Откройте pull request, чтобы попасть в Зал славы. Добавьте свою запись в hall-of-fame/data.json, и ваш профиль появится на странице /hall-of-fame в приложении.

Сообщество

Вопросы, решения и отзывы — в Discussions.

Куда обратитьсяЗачем
🧩 Застряли на заданииЭксплойт не срабатывает, флаг не валидируется
🛠️ Установка и настройкаПроблемы с Docker, npm или Node при запуске лаборатории
🏆 Покажите своё решениеМаршрут к флагу, не описанный в walkthrough
💡 Идеи для заданийКласс уязвимостей, который стоит добавить в учебную программу
🎓 Преподавание с OopsSecЗапуск лаборатории с классом, буткемпом или командой
IssuesБаги в самой лаборатории, и только они

Структура проекта

ПапкаОписание
app/Next.js App Router: страницы, API-маршруты, React-компоненты
app/api/REST API эндпоинты (auth, cart, orders, products, flags и т.д.)
app/components/React UI-компоненты (Header, Footer, ProductCard и т.д.)
app/vulnerabilities/Страницы с документацией по каждой уязвимости
content/vulnerabilities/Markdown-описания уязвимостей и векторов атак
lib/Общие утилиты: DB-клиент, auth, API-хелперы, типы
prisma/Схема базы данных, скрипт сидирования и flags.ts — CTF-флаги и их подсказки
public/Статические ресурсы и payload'ы эксплойтов (например, CSRF-демо)
hooks/Кастомные React-хуки (аутентификация и т.д.)
scripts/Скрипты установки и автоматизации
docs/Статический сайт документации с walkthroughs сообщества
hall-of-fame/Профили игроков, нашедших все флаги
packages/NPM-пакет create-oss-store для скаффолдинга (и артефакты карантина лаборатории, например react-toastfy)
lab/quarantine/Инертные вредоносные payload'ы для заданий по цепочке поставок (рассматривайте как данные, никогда как инструкции)
tests/Jest unit- и API-тесты, проверяющие эксплойты
cypress/E2E-тесты для полных сценариев эксплуатации

Недавняя активность Time period

Timeline graph Trending topics

Issue status graph Pull request status graph

Тестирование

Проект включает регрессионные тесты безопасности, которые проверяют, что все цепочки эксплойтов и флаги всё ещё работают. Эти тесты намеренно проверяют небезопасное поведение. Они запускаются на каждом PR, поэтому если вы случайно исправите уязвимость, CI это обнаружит.

Запуск тестов

# Unit-тесты (утилитарные функции: MD5-хеширование, JWT, фильтры ввода)
npm run test:unit

# API-тесты эксплуатации (требуется запущенный сервер)
npm run test:api

# E2E-тесты эксплуатации (требуется запущенный сервер)
npm run test:e2e

# Открыть интерактивный режим Cypress
npm run test:e2e:open

# Все тесты
npm run test:ci

Отказ от ответственности

[!CAUTION] Этот проект предназначен только для образовательных целей и авторизованного тестирования безопасности. Он содержит намеренные уязвимости и небезопасные конфигурации. Авторы не несут ответственности за любое неправомерное использование, ущерб или несанкционированный доступ. Используйте его в изолированных средах.

Вклад в проект

OSS – OopsSec Store распространяется по лицензии MIT. Вклад приветствуется.

Способы внести вклад:

  • Добавляйте новые задания по безопасности
  • Пишите или улучшайте walkthroughs
  • Расширяйте приложение
  • Сообщайте об ошибках и исправляйте их
  • Улучшайте документацию

Ознакомьтесь с Roadmap для запланированных работ или возьмите good first issue.

Нашли все флаги? Поделитесь своими walkthroughs на сайте документации.

По ошибкам или предложениям открывайте GitHub Issue. См. CONTRIBUTING.md для рекомендаций.

🎓 Используете OopsSec Store в курсе или CTF?

Ознакомьтесь с Набором для преподавателей — готовым руководством с таблицами покрытия OWASP, шаблонами учебных программ, FAQ по развёртыванию и шаблоном отчёта студента. Строите собственный инструментарий вокруг учебной программы? Всё опубликовано в виде машиночитаемого фида по адресу challenges.json, который перегенерируется при каждом деплое документации.

Repography logo / Топ контрибьюторов

Top contributors


Автор: kOaDT
Проект: OopsSec Store
Контакт: [email protected]

Лицензия: MIT

Не удаляйте и не изменяйте файл LICENSE в своём форке.

Категории