Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BreakEscape — Motore Rails montabile che fornisce 24+ scenari di escape room sulla cybersecurity con password randomizzate, dialoghi NPC compilati JIT e API RESTful per la gestione dello stato del gioco. Progettato per la formazione pratica sulla sicurezza. | Kitploit
Strumenti/GitHubGitHub/cliffe/breakescape
Sicurezza WebCTFPenetration TestingApprendimento e FormazionePercorsi e CorsiLab e Pratica
GitHubcliffe/breakescape

BreakEscape

Motore Rails montabile che fornisce 24+ scenari di escape room sulla cybersecurity con password randomizzate, dialoghi NPC compilati JIT e API RESTful per la gestione dello stato del gioco. Progettato per la formazione pratica sulla sicurezza.

Vedi Repository
6249 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

BreakEscape Motore Rails

Gioco di escape room per formazione in cybersecurity come motore Rails montabile.

Funzionalità

  • 24+ scenari di escape room sulla cybersecurity
  • Tracciamento dei progressi lato server con schema a 2 tabelle
  • Password randomizzate per istanza di gioco tramite ERB
  • Compilazione JIT degli script Ink per i dialoghi NPC
  • Supporto polimorfico per i giocatori (User/DemoUser)
  • Autorizzazione tramite Pundit
  • API RESTful per la gestione dello stato di gioco
  • Persistenza dello stato basata su sessione

Installazione

Nel tuo Gemfile:

root@kitploit:~
gem 'break_escape', path: 'path/to/break_escape'

Poi:

root@kitploit:~
bundle install
rails break_escape:install:migrations
rails db:migrate
rails db:seed  # Opzionale: crea missioni dagli scenari

Montaggio nell'App Host

Nel tuo config/routes.rb:

root@kitploit:~
mount BreakEscape::Engine => "/break_escape"

Utilizzo

Modalità Standalone (Sviluppo)

root@kitploit:~
export BREAK_ESCAPE_STANDALONE=true
rails server
# Visita http://localhost:3000/break_escape/

Modalità Montata (Produzione)

Monta in Hacktivity o in un'altra app Rails. Il motore utilizzerà current_user dell'app host tramite Devise.

Configurazione

root@kitploit:~
# config/initializers/break_escape.rb
BreakEscape.configure do |config|
  config.standalone_mode = false  # true per sviluppo
  config.demo_user_handle = 'demo_player'
end

Schema del Database

  • break_escape_missions - Metadati dello scenario (name, display_name, published, difficulty)
  • break_escape_games - Stato del giocatore + snapshot dello scenario (JSONB)
  • break_escape_demo_users - Solo modalità standalone (opzionale)

Endpoint API

  • GET /games/:id/scenario - Scenario JSON (generato da ERB)
  • GET /games/:id/ink?npc=X - Script NPC (compilato JIT da .ink)
  • GET /games/:id/bootstrap - Dati iniziali del gioco
  • PUT /games/:id/sync_state - Sincronizza stato del giocatore
  • POST /games/:id/unlock - Valida tentativo di sblocco
  • POST /games/:id/inventory - Aggiorna inventario

Architettura

Generazione degli Scenari ERB

Gli scenari sono memorizzati come template .json.erb e renderizzati su richiesta con valori randomizzati:

  • <%= random_password %> - Genera password unica per gioco
  • <%= random_pin %> - Genera PIN unico a 4 cifre
  • <%= random_code %> - Genera codice esadecimale unico

Compilazione JIT Ink

Gli script dei dialoghi NPC vengono compilati al primo accesso (~300ms):

  1. Controlla se esiste .json ed è più recente di .ink
  2. Se necessario, esegui inklecate per compilare
  3. Metti in cache il JSON compilato per richieste successive

Gestione dello Stato

Stato del giocatore memorizzato in colonna JSONB:

  • Stanza corrente e stanze sbloccate
  • Inventario e oggetti raccolti
  • Incontri con NPC
  • Variabili globali (sincronizzate con il client)
  • Salute e stato del minigioco

Test

CI

I test vengono eseguiti automaticamente su GitHub Actions. Il Gemfile.lock committato blocca le versioni esatte delle gem utilizzate.

In locale con accesso alla rete

root@kitploit:~
bundle install
bundle exec rails db:create db:migrate RAILS_ENV=test
bundle exec rails test

In locale senza accesso alla rete

Il motore include uno script bin/setup che avvia il bundle da un checkout gemello di Hacktivity (che ha già tutte le gem richieste vendorizzate):

root@kitploit:~
# Dalla root di BreakEscape — Hacktivity deve trovarsi in ../Hacktivity
bin/setup
bundle exec rails test

# Se Hacktivity è altrove, imposta HACKTIVITY_DIR:
HACKTIVITY_DIR=/path/to/Hacktivity bin/setup

bin/setup copia i file .gem risolti in vendor/cache/ ed esegue bundle install --local. Le directory vendor/cache/ e vendor/bundle/ sono in gitignore; viene committato solo Gemfile.lock.

Documentazione

Vedi HACKTIVITY_INTEGRATION.md per la guida all'integrazione.

Riconoscimenti

Grazie a tutti coloro che hanno contribuito al progetto. Fare riferimento alla storia di GitHub.

  • Questo progetto è supportato da risorse del Cyber Security Body of Knowledge (CyBOK) relative al grant CyBOK 1.1 (2023-2024).
  • Questo progetto è supportato da risorse del Cyber Security Body of Knowledge (CyBOK) relative al grant CyBOK 1.1 (2024-2025).
  • Questo progetto è supportato da risorse del Cyber Security Body of Knowledge (CyBOK) relative al grant Security-Informed Safety (2025-2026).
Scarica lo strumento