
Uno strumento open source di threat modeling di OWASP
OWASP Threat Dragon è un'applicazione gratuita, open-source e multipiattaforma per la modellazione delle minacce. Viene utilizzata per disegnare diagrammi di modellazione delle minacce e per elencare le minacce per gli elementi del diagramma. Mike Goodwin ha creato Threat Dragon come progetto comunitario open source che offre un modo intuitivo e accessibile per modellare le minacce.
Threat Dragon è progettata per essere accessibile a diversi tipi di team, con un'enfasi su flessibilità e semplicità. Il progetto ha lo stato di produzione OWASP e segue i valori e i principi del .
Questo programma è software libero: puoi ridistribuirlo e/o modificarlo secondo i termini della licenza Apache 2.0.
Accedi all'ultima versione di Threat Dragon sul sito demo e fai riferimento alle pagine di documentazione.
Vale anche la pena guardare il video fornito dalla serie OWASP Spotlight.
L'area release di GitHub contiene Threat Dragon dalla versione 1.3 alle ultime versioni 2.x. Le release precedenti provengono dal repository originale di Mike Goodwin.
Esiste una buona panoramica di modellazione delle minacce e valutazione del rischio di OWASP, e questo approfondisce gli obiettivi del progetto Threat Dragon:
Mike Goodwin è il fondatore e creatore di questo progetto, e questo repository è stato migrato dal originale di Mike Goodwin, che contiene issue e pull request da ottobre 2015 a giugno 2020.
Threat Dragon è principalmente un'applicazione web. L'applicazione web può archiviare i file dei modelli di minaccia sul filesystem locale; inoltre l'accesso può essere configurato per :
Le versioni desktop di Threat Dragon archiviano i file dei modelli di minaccia sul filesystem locale e non accedono a repository esterni. Puoi scaricare gli installer per Windows, MacOS e Linux.
La guida per l'utente finale è disponibile sia per l'ultima versione 2.x sia per la precedente versione 1.x.
Threat Dragon è stata originariamente scritta con AngularJS versione 1.x, ma questa versione di Angular ha raggiunto la fine del ciclo di vita. Ciò significa che le versioni 1.x di Threat Dragon non sono più mantenute attivamente e che le versioni 2.x sono state riscritte per utilizzare Vue.js.
Per maggiori informazioni sulla compilazione/esecuzione della versione 1.x, consulta il branch legacy-v1.x.
Clona il repository usando: git clone https://github.com/owasp/threat-dragon.git
Questo scarica il codice in una directory threat-dragon e il codice dell'applicazione è in due sottocartelle,
una per l'applicazione back-end (td.server) e una per il front-end (td.vue).
Installa dalla directory principale del progetto usando : npm install
La variante web di Threat Dragon richiede alcune variabili d'ambiente; segui la documentazione su come impostare queste variabili.
Se è richiesto l'accesso a repository esterni, come Bitbucket / GitHub / GitLab, devi accedere al tuo account del repository e registrare l'applicazione. Esistono guide passo passo su come fare per Bitbucket, GitHub e GitLab.
Quando si esegue su Windows e durante lo sviluppo, il front-end e il back-end del server
possono essere avviati separatamente in modalità "watch" usando i comandi : npm run dev:server e npm run dev:vue.
In alternativa, se si esegue su Linux o MacOS, avvia sia il server back-end che l'applicazione front-end
dalla directory principale usando : npm start.
Con front-end e back-end in esecuzione, accedi con un browser all'indirizzo http://localhost:8080/
Se usi npm start, arresta sia il server back-end che l'applicazione front-end
dalla directory principale con il comando npm stop. In alternativa, termina sia il server che il front-end Vue.
Threat Dragon mantiene le immagini Docker nell'area dell'organizzazione OWASP su Docker Hub.
Ogni release è taggata come v{major}.{minor}.{patch}, ad esempio v2.2.0:
docker pull owasp/threat-dragon:v2.2.0Il tag latest (che è quello predefinito) potrebbe benissimo essere una versione di sviluppo,
quindi usa il tag stable, che sarà sempre l'ultima release ufficiale:
docker pull threatdragon/owasp-threat-dragon:stabledocker run -it --rm -p 8080:3000 -v $(pwd)/.env:/app/.env threatdragon/owasp-threat-dragon:v2.2.0docker run -it --rm -p 8080:3000 -v %CD%/.env:/app/.env threatdragon/owasp-threat-dragon:v2.2.0Supponendo che tu stia usando la porta http 8080 e accedendo a Threat Dragon su http://localhost:8080/.
Per eseguire Threat Dragon in un contenitore Docker compilato localmente, configura prima il tuo ambiente usando dotenv e poi esegui dalla directory principale del progetto:
docker build -t owasp-threat-dragon:dev .docker run -it --rm -p 8080:3000 -v $(pwd)/.env:/app/.env owasp-threat-dragon:devdocker run -it --rm -p 8080:3000 -v %CD%/.env:/app/.env owasp-threat-dragon:devUsando la porta http 8080 e accedendo a Threat Dragon su http://localhost:8080/.
Pull request, richieste di funzionalità, segnalazioni di bug e feedback di qualsiasi tipo sono molto graditi, fai riferimento alla pagina per i contributori.
Ci sono alcune note per gli sviluppatori per aiutarti a iniziare con questo progetto. Stiamo cercando di mantenere la copertura dei test relativamente alta, quindi includi i test nelle tue pull request.
Il modo più semplice per metterti in contatto con la community di Threat Dragon è inviare un'email al gruppo Google di OWASP. Il canale Slack OWASP #project-threat-dragon è una buona fonte di informazioni, anche se potresti doverti iscrivere prima.
Puoi seguire Threat Dragon su Bluesky.
Se trovi una vulnerabilità in questo progetto, faccelo sapere il prima possibile e la correggeremo con priorità. Per una divulgazione sicura, consulta la politica di sicurezza.
Threat Dragon: rendere la modellazione delle minacce meno minacciosa