Voltar às atualizações
New releaseAug 12, 2026

oss-oopssec-store v2.18.0

Treinamento de segurança para os aplicativos que você realmente entrega. Abra seu navegador e comece a hackear.

Compartilhar

OSS - OopsSec Store

Um aplicativo de e-commerce intencionalmente vulnerável para aprender segurança web.
Domine vetores de ataque do mundo real em uma plataforma CTF realista.
Cace flags, explore vulnerabilidades e evolua suas habilidades de segurança.

Docker Hub · npm · Roadmap · Walkthroughs · Contribuir · 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 3000:3000 leogra/oss-oopssec-store

# Then open http://localhost:3000 and start hacking

Sumário


[!WARNING] Este aplicativo contém falhas de segurança intencionais e nunca deve ser implantado em um ambiente de produção.

Recursos

  • Aplicativo de e-commerce intencionalmente vulnerável (XSS, CSRF, IDOR, ataques JWT, path traversal, injeção de SQL e muito mais)
  • Construído com Next.js, React, Prisma e SQLite
  • API REST com vetores de ataque documentados
  • 36 desafios CTF em 11 capítulos, organizados em um roadmap de aprendizado estruturado
  • Documentação de vulnerabilidades e walkthroughs da comunidade para cada desafio
  • Testes automatizados que verificam se os exploits continuam funcionando (PRs que corrigirem uma vulnerabilidade por acidente falharão no CI)

Por que o OopsSec Store?

OopsSec Store é o único aplicativo web intencionalmente vulnerável construído com Next.js e React. A stack que você realmente encontrará em produção. E a superfície de ataque da era da IA faz parte do currículo principal, não um complemento: injeção de prompt, envenenamento de ferramentas MCP, backdoors em agentes de codificação de IA e uma cadeia de ataque à supply-chain do npm simulada de ponta a ponta.

OopsSec StoreJuice ShopDVWA
StackNext.js · React · PrismaNode.js · Express · AngularPHP · MySQL
Instalaçãonpx create-oss-store (< 1 min) / DockerDocker / npmDocker / manual LAMP
Flags de CTF✅ Integrado✅ Modo CTF opcional
Roadmap de aprendizado guiado✅ 1 roadmap, 11 capítulos, 36 flags❌ Apenas painel de pontuaçãoParcial (níveis de segurança)
Walkthrough para cada desafio✅ Guia complementarParcial (dicas)
Injeção de prompt em LLM✅ Conecte uma chave de API gratuita✅ v20+, traga e configure seu próprio LLM
Envenenamento de ferramentas MCP
Backdoor em agente de codificação de IA (arquivo de regras envenenado)
Cadeia de ataque à supply-chain✅ Simulada de ponta a ponta: typosquat no npm → backdoor em regrasParcial — apenas identificação
Desafios baseados em CVEs reais
Hall da Fama para jogadores

Última verificação em junho de 2026, contra o Juice Shop v20 e o DVWA 2.x. Encontrou alguma imprecisão? Abra uma issue ou abra um PR.

Instalação

Início rápido

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

Em seguida, abra http://localhost:3000 no seu navegador.

Configuração manual

Clone o repositório e execute o script de configuração:

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

Isso cria o arquivo .env, instala as dependências, configura o banco de dados SQLite, o popula com as flags de CTF e inicia o aplicativo na porta 3000.

Docker

Não é necessário Node.js. Apenas Docker.

Pelo Docker Hub (mais rápido)

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

Para persistir os dados entre reinicializações:

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

A partir do código-fonte (Docker Compose)

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

Ou usando os scripts auxiliares do npm:

npm run docker:up       # Start in background (builds image on first run)
npm run docker:logs     # Follow container logs
npm run docker:down     # Stop the container
npm run docker:reset    # Wipe data and restart fresh

O banco de dados é inicializado no primeiro início. Os dados persistem entre reinicializações por meio de volumes nomeados do Docker. Para redefinir tudo (progresso das flags, usuários, uploads), execute npm run docker:reset.

Hall da fama

Encontrou todas as flags? Abra um pull request para entrar no Hall da Fama. Adicione sua entrada em hall-of-fame/data.json e seu perfil aparecerá na página /hall-of-fame do aplicativo.

Estrutura do projeto

PastaDescrição
app/Next.js App Router: páginas, rotas de API, componentes React
app/api/Endpoints da API REST (auth, carrinho, pedidos, produtos, flags, etc.)
app/components/Componentes de UI React (Header, Footer, ProductCard, etc.)
app/vulnerabilities/Páginas que documentam cada vulnerabilidade
content/vulnerabilities/Descrições em Markdown das vulnerabilidades e vetores de ataque
lib/Utilitários compartilhados: cliente de banco de dados, autenticação, helpers de API, tipos
prisma/Esquema do banco de dados, script de seed e flags.ts — as flags de CTF e suas dicas
public/Recursos estáticos e payloads de exploit (ex.: demo de CSRF)
hooks/Hooks React personalizados (autenticação, etc.)
scripts/Scripts de configuração e automação
docs/Site de documentação estática com walkthroughs da comunidade
hall-of-fame/Perfis de jogadores que encontraram todas as flags
packages/Pacote NPM create-oss-store para scaffolding (e artefatos de quarentena do laboratório, como react-toastfy)
lab/quarantine/Payloads maliciosos inertes para desafios de supply-chain (trate como dados, nunca como instruções)
tests/Testes unitários e de API em Jest que validam exploits
cypress/Testes E2E para fluxos completos de exploração

Atividade recente Time period

Timeline graph Trending topics

Issue status graph Pull request status graph

Testes

O projeto inclui testes de regressão de segurança que garantem que todas as cadeias de exploit e flags continuem funcionando. Esses testes validam deliberadamente o comportamento inseguro. Eles são executados em todo PR; portanto, se você corrigir uma vulnerabilidade acidentalmente, o CI a detectará.

Executando os testes

# Unit tests (utility functions: MD5 hashing, JWT, input filters)
npm run test:unit

# API exploitation tests (requires a running server)
npm run test:api

# E2E exploitation tests (requires a running server)
npm run test:e2e

# Open Cypress interactive mode
npm run test:e2e:open

# All tests
npm run test:ci

[!CAUTION] Este projeto é apenas para fins educacionais e testes de segurança autorizados. Ele contém vulnerabilidades intencionais e configurações inseguras. Os autores não são responsáveis por qualquer uso indevido, dano ou acesso não autorizado. Use-o em ambientes isolados.

Contribuição

OSS – OopsSec Store é licenciado sob MIT. Contribuições são bem-vindas.

Formas de contribuir:

  • Adicionar novos desafios de segurança
  • Escrever ou melhorar walkthroughs
  • Estender o aplicativo
  • Reportar e corrigir bugs
  • Melhorar a documentação

Consulte o Roadmap para ver o trabalho planejado ou escolha uma good first issue.

Encontrou todas as flags? Compartilhe seus walkthroughs no site de documentação.

Para bugs ou sugestões, abra uma GitHub Issue. Consulte CONTRIBUTING.md para obter as diretrizes.

🎓 Usando o OopsSec Store em um curso ou CTF?

Confira o Kit para Educadores - um guia pronto para uso com grades de cobertura OWASP, modelos de ementa, FAQ de implantação e um modelo de relatório para estudantes.

Repography logo / Principais colaboradores

Top contributors


Autor: kOaDT
Projeto: OopsSec Store
Contato: [email protected]

Licença: MIT

Não remova nem modifique o arquivo LICENSE no seu fork.

Categorias