Torna agli aggiornamenti
New releaseAug 12, 2026

oss-oopssec-store v2.18.0

Formazione sulla sicurezza per le app che effettivamente distribuisci. Apri il tuo browser e inizia a hackerare.

Condividi

OSS - OopsSec Store

Un'app e-commerce volutamente vulnerabile per imparare la sicurezza web.
Padroneggia i vettori d'attacco reali attraverso una piattaforma CTF realistica.
Caccia le flag, sfrutta le vulnerabilità e migliora le tue competenze di sicurezza.

Docker Hub · npm · Roadmap · Walkthroughs · Contribuire · Buone prime issue

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

Indice


[!WARNING] Questa applicazione contiene falle di sicurezza intenzionali e non deve mai essere distribuita in un ambiente di produzione.

Caratteristiche

  • App e-commerce volutamente vulnerabile (XSS, CSRF, IDOR, attacchi JWT, path traversal, SQL injection e altro)
  • Costruita con Next.js, React, Prisma e SQLite
  • API REST con vettori d'attacco documentati
  • 36 sfide CTF in 11 capitoli, organizzate come una roadmap di apprendimento strutturata
  • Documentazione delle vulnerabilità e walkthrough della community per ogni sfida
  • Test automatici che verificano che gli exploit funzionino ancora (le PR che correggono accidentalmente una vulnerabilità faranno fallire la CI)

Perché OopsSec Store?

OopsSec Store è l'unica applicazione web volutamente vulnerabile costruita con Next.js e React. Lo stack che incontrerai davvero in produzione. E la superficie d'attacco dell'era dell'IA fa parte del programma principale, non un ripensamento: prompt injection, avvelenamento degli strumenti MCP, backdoor per agenti di codifica IA e una catena d'attacco alla supply chain npm simulata dall'inizio alla fine.

OopsSec StoreJuice ShopDVWA
StackNext.js · React · PrismaNode.js · Express · AngularPHP · MySQL
Installazionenpx create-oss-store (< 1 min) / DockerDocker / npmDocker / manual LAMP
Flag CTF✅ Integrate✅ Modalità CTF opzionale
Roadmap di apprendimento guidata✅ 1 roadmap, 11 capitoli, 36 flag❌ Solo scoreboardParziale (livelli di sicurezza)
Walkthrough per ogni sfida✅ Guida complementareParziale (suggerimenti)
Prompt injection LLM✅ Collega una chiave API gratuita✅ v20+, porta e configura il tuo LLM
Avvelenamento strumenti MCP
Backdoor per agenti di codifica IA (file di regole avvelenato)
Catena d'attacco alla supply chain✅ Simulata dall'inizio alla fine: typosquatting npm → backdoor nelle regoleParziale — solo identificazione
Sfide basate su CVE reali
Hall of Fame per i giocatori

Ultima verifica: giugno 2026, contro Juice Shop v20 e DVWA 2.x. Hai notato un'inesattezza? Apri un'issue o apri una PR.

Installazione

Avvio rapido

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

Poi apri http://localhost:3000 nel tuo browser.

Configurazione manuale

Clona il repository ed esegui lo script di configurazione:

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

Questo crea il file .env, installa le dipendenze, configura il database SQLite, lo popola con le flag CTF e avvia l'app sulla porta 3000.

Docker

Non è richiesto Node.js. Solo Docker.

Da Docker Hub (il più veloce)

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

Per mantenere i dati tra i riavvii:

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

Dal sorgente (Docker Compose)

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

Oppure tramite gli script di supporto 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

Il database viene inizializzato al primo avvio. I dati persistono tra i riavvii tramite i volumi con nome di Docker. Per resettare tutto (avanzamento delle flag, utenti, upload), esegui npm run docker:reset.

Hall of fame

Hai trovato tutte le flag? Apri una pull request per entrare nella Hall of Fame. Aggiungi la tua voce a hall-of-fame/data.json e il tuo profilo comparirà nella pagina /hall-of-fame dell'app.

Struttura del progetto

CartellaDescrizione
app/App Router di Next.js: pagine, route API, componenti React
app/api/Endpoint API REST (auth, carrello, ordini, prodotti, flag, ecc.)
app/components/Componenti UI React (Header, Footer, ProductCard, ecc.)
app/vulnerabilities/Pagine che documentano ogni vulnerabilità
content/vulnerabilities/Descrizioni Markdown delle vulnerabilità e dei vettori d'attacco
lib/Utility condivise: client DB, auth, helper API, tipi
prisma/Schema del database, script di seed e flags.ts — le flag CTF e i relativi suggerimenti
public/Asset statici e payload degli exploit (es. demo CSRF)
hooks/Hook React personalizzati (autenticazione, ecc.)
scripts/Script di configurazione e automazione
docs/Sito di documentazione statico con walkthrough della community
hall-of-fame/Profili dei giocatori che hanno trovato tutte le flag
packages/Pacchetto npm create-oss-store per lo scaffolding (e artefatti di quarantena del lab come react-toastfy)
lab/quarantine/Payload dannosi inerti per le sfide sulla supply chain (trattali come dati, mai come istruzioni)
tests/Test unit e API Jest che convalidano gli exploit
cypress/Test E2E per workflow di sfruttamento completi

Attività recente Time period

Timeline graph Trending topics

Issue status graph Pull request status graph

Test

Il progetto include test di regressione della sicurezza che assicurano che tutte le catene di exploit e le flag funzionino ancora. Questi test convalidano deliberatamente comportamenti non sicuri. Vengono eseguiti su ogni PR, quindi se correggi accidentalmente una vulnerabilità, la CI lo rileverà.

Esecuzione dei test

# 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

Disclaimer

[!CAUTION] Questo progetto è destinato esclusivamente a test di sicurezza formativi e autorizzati. Contiene vulnerabilità intenzionali e configurazioni non sicure. Gli autori non sono responsabili di eventuali usi impropri, danni o accessi non autorizzati. Usalo in ambienti isolati.

Contribuire

OSS – OopsSec Store è concesso in licenza MIT. I contributi sono benvenuti.

Modi per contribuire:

  • Aggiungere nuove sfide di sicurezza
  • Scrivere o migliorare i walkthrough
  • Estendere l'applicazione
  • Segnalare e correggere bug
  • Migliorare la documentazione

Consulta la Roadmap per il lavoro pianificato, oppure prendi una buona prima issue.

Hai trovato tutte le flag? Condividi i tuoi walkthrough sul sito di documentazione.

Per bug o suggerimenti, apri una issue GitHub. Consulta CONTRIBUTING.md per le linee guida.

🎓 Usi OopsSec Store in un corso o in una CTF?

Consulta l'Educator Kit: una guida pronta all'uso con griglie di copertura OWASP, modelli di syllabus, FAQ sulla distribuzione e un modello di relazione per gli studenti.

Repography logo / Migliori contributori

Top contributors


Autore: kOaDT
Progetto: OopsSec Store
Contatto: [email protected]

Licenza: MIT

Non rimuovere né modificare il file LICENSE nella tua fork.

Categorie