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

Uma aplicação de e-commerce intencionalmente vulnerável para aprender segurança web.
Domine vetores de ataque do mundo real através de uma plataforma CTF realista.
Caçe flags, explore vulnerabilidades e evolua suas habilidades de segurança.

Docker Hub · npm · Roadmap · Walkthroughs · Contribuindo · Boas primeiras 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

Sumário


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

Recursos

  • Aplicação de e-commerce intencionalmente vulnerável (XSS, CSRF, IDOR, ataques JWT, path traversal, injeção SQL e muito mais)
  • Construída com Next.js, React, Prisma e SQLite
  • API REST com vetores de ataque documentados
  • 36 desafios CTF em 11 capítulos, organizados como um roadmap de aprendizado estruturado
  • Documentação de vulnerabilidades e walkthroughs da comunidade para cada desafio
  • Uma sala TryHackMe guiadaThe Summer Audit, com 8 tarefas e 7 flags, como uma porta de entrada narrativa para iniciantes
  • Testes automatizados que verificam se os exploits continuam funcionando (PRs que corrigirem acidentalmente uma vulnerabilidade falharão no CI)

Por que OopsSec Store?

OopsSec Store é a única aplicação web intencionalmente vulnerável construída 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 de supply chain npm simulada de ponta a ponta.

OopsSec StoreJuice ShopDVWA
StackNext.js · React · PrismaNode.js · Express · AngularPHP · MySQL
Configuraçãonpx create-oss-store (< 1 min) / DockerDocker / npmDocker / LAMP manual
Flags CTF✅ Integradas✅ Modo CTF opcional
Roadmap de aprendizado guiado✅ 1 roadmap, 11 capítulos, 36 flags❌ Apenas quadro 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 de supply chain✅ Simulada de ponta a ponta: typosquat 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 Juice Shop v20 e DVWA 2.x. Encontrou uma 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 CTF e inicia a aplicação na porta 3000.

Docker

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

127.0.0.1:3000:3000 mantém o laboratório acessível apenas a partir da sua própria máquina. Use -p 3000:3000 simples apenas em uma VM isolada que você controla.

A partir do Docker Hub (mais rápido)

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

Para persistir dados entre reinicializações:

docker run -p 127.0.0.1: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       # Inicia em segundo plano (compila a imagem na primeira execução)
npm run docker:logs     # Acompanha os logs do contêiner
npm run docker:down     # Para o contêiner
npm run docker:reset    # Apaga os dados e reinicia do zero

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 da aplicação.

Comunidade

Perguntas, soluções e feedback ficam em Discussions.

Onde irPara quê
🧩 Preso em um desafioO exploit não dispara, a flag não valida
🛠️ Configuração e instalaçãoProblemas com Docker, npm ou Node para subir o laboratório
🏆 Mostre sua soluçãoUma rota para a flag que o walkthrough não cobre
💡 Ideias de desafiosUma classe de vulnerabilidade que vale adicionar ao currículo
🎓 Ensinando com OopsSecExecutando o laboratório com uma turma, um bootcamp ou uma equipe
IssuesBugs no próprio laboratório, e somente esses

Estrutura do projeto

PastaDescrição
app/Next.js App Router: páginas, rotas de API, componentes React
app/api/Endpoints da REST API (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 de vulnerabilidades e vetores de ataque
lib/Utilitários compartilhados: cliente de banco de dados, auth, helpers de API, tipos
prisma/Schema do banco de dados, script de seed e flags.ts — as flags CTF e suas dicas
public/Ativos estáticos e payloads de exploit (ex.: demonstração 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 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 comportamento inseguro. Eles são executados em cada PR, então, se você corrigir acidentalmente uma vulnerabilidade, o CI detectará.

Executando os testes

# Testes unitários (funções utilitárias: hash MD5, JWT, filtros de entrada)
npm run test:unit

# Testes de exploração de API (requer um servidor em execução)
npm run test:api

# Testes de exploração E2E (requer um servidor em execução)
npm run test:e2e

# Abrir o modo interativo do Cypress
npm run test:e2e:open

# Todos os testes
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.

Contribuindo

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 a aplicação
  • Reportar e corrigir bugs
  • Melhorar a documentação

Consulte o Roadmap para o trabalho planejado, ou pegue uma boa primeira 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 diretrizes.

🎓 Usando OopsSec Store em um curso ou CTF?

Confira o Kit para Educadores — um guia pronto para uso com grades de cobertura OWASP, modelos de syllabus, FAQ de implantação e um modelo de relatório de estudante. Construindo suas próprias ferramentas em torno do currículo? Tudo é publicado como um feed legível por máquina em challenges.json, regenerado a cada implantação da documentação.

Repography logo / Principais contribuidores

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