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 · Walkthrough · Contribuisci · 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 127.0.0.1:3000:3000 leogra/oss-oopssec-store

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

Indice dei contenuti


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

Funzionalità

  • 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 sulle vulnerabilità e walkthrough della community per ogni sfida
  • Una stanza TryHackMe guidata — The Summer Audit, 8 task e 7 flag, come introduzione narrativa per i principianti
  • Test automatici che verificano che gli exploit funzionino ancora (le PR che accidentalmente correggono una vulnerabilità falliranno 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 è parte del curriculum principale, non un ripensamento: prompt injection, avvelenamento degli strumenti MCP, backdoor per agenti di codifica IA e una catena di attacco alla supply chain npm simulata dall'inizio alla fine.

OopsSec StoreJuice ShopDVWA
StackNext.js · React · PrismaNode.js · Express · AngularPHP · MySQL
Configurazionenpx create-oss-store (< 1 min) / DockerDocker / npmDocker / LAMP manuale
Flag CTF✅ Integrate✅ Modalità CTF opzionale
Roadmap di apprendimento guidata✅ 1 roadmap, 11 capitoli, 36 flag❌ Solo tabellone punteggiParziale (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 agente di codifica IA (file di regole avvelenato)
Catena di attacco alla supply chain✅ Simulata dall'inizio alla fine: typosquat 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

Nessun Node.js richiesto. Solo Docker.

127.0.0.1:3000:3000 mantiene il laboratorio raggiungibile solo dalla tua macchina. Usa il semplice -p 3000:3000 solo su una VM isolata che controlli.

Da Docker Hub (più veloce)

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

Per mantenere i dati tra i riavvii:

docker run -p 127.0.0.1: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 usando gli script helper npm:

npm run docker:up       # Avvia in background (compila l'immagine al primo avvio)
npm run docker:logs     # Segui i log del container
npm run docker:down     # Ferma il container
npm run docker:reset    # Cancella i dati e riavvia da zero

Il database si inizializza al primo avvio. I dati persistono tra i riavvii tramite volumi nominati Docker. Per resettare tutto (progressi 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 apparirà nella pagina /hall-of-fame dell'app.

Community

Domande, soluzioni e feedback vivono in Discussions.

Dove andarePer cosa
🧩 Bloccato su una sfidaL'exploit non scatta, la flag non viene validata
🛠️ Configurazione e installazioneProblemi Docker, npm o Node per avviare il laboratorio
🏆 Mostra la tua soluzioneUna via verso la flag non coperta dal walkthrough
💡 Idee per sfideUna classe di vulnerabilità che vale la pena aggiungere al curriculum
🎓 Insegnare con OopsSecGestire il laboratorio con una classe, un bootcamp o un team
IssuesBug nel laboratorio stesso, e solo quelli

Struttura del progetto

CartellaDescrizione
app/Next.js App Router: 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 loro suggerimenti
public/Asset statici e payload di exploit (es. demo CSRF)
hooks/Hook React personalizzati (autenticazione, ecc.)
scripts/Script di configurazione e automazione
docs/Sito di documentazione statica 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 unitari Jest e test API che validano gli exploit
cypress/Test E2E per flussi 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 sulla sicurezza che garantiscono che tutte le catene di exploit e le flag funzionino ancora. Questi test validano deliberatamente comportamenti insicuri. Vengono eseguiti su ogni PR, quindi se correggi accidentalmente una vulnerabilità, la CI lo rileverà.

Esecuzione dei test

# Test unitari (funzioni di utilità: hashing MD5, JWT, filtri di input)
npm run test:unit

# Test di sfruttamento API (richiede un server in esecuzione)
npm run test:api

# Test di sfruttamento E2E (richiede un server in esecuzione)
npm run test:e2e

# Apri la modalità interattiva Cypress
npm run test:e2e:open

# Tutti i test
npm run test:ci

Disclaimer

[!CAUTION] Questo progetto è solo per scopi educativi e test di sicurezza autorizzati. Contiene vulnerabilità intenzionali e configurazioni insicure. Gli autori non sono responsabili di qualsiasi uso improprio, danno o accesso non autorizzato. Usalo in ambienti isolati.

Contributi

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

Controlla 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 GitHub Issue. Consulta CONTRIBUTING.md per le linee guida.

🎓 Usi OopsSec Store in un corso o CTF?

Consulta il Kit per educatori - una guida pronta all'uso con griglie di copertura OWASP, modelli di programma, FAQ di distribuzione e un modello di report per studenti. Stai costruendo i tuoi strumenti attorno al curriculum? Il tutto è pubblicato come feed leggibile dalla macchina in challenges.json, rigenerato a ogni distribuzione della documentazione.

Repography logo / Top contributor

Top contributors


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

Licenza: MIT

Non rimuovere o modificare il file LICENSE nel tuo fork.

Categorie