
Uno strumento open source di threat modeling di OWASP
[
][build]
[
][latest]
[
][practices]
[OWASP][owasp] [Threat Dragon][project] è un'applicazione di threat modeling gratuita, open source e multipiattaforma. Viene utilizzata per disegnare diagrammi di threat modeling e per elencare le minacce per gli elementi del diagramma. Mike Goodwin ha creato Threat Dragon come progetto open source della community che fornisce un modo intuitivo e accessibile per modellare le minacce.
Threat Dragon è progettato per essere accessibile a vari tipi di team, con un'enfasi sulla flessibilità e sulla semplicità. Il Progetto ha lo [stato di Produzione OWASP][project] e segue i valori e i principi del [manifesto del threat modeling][manifesto].
Questo programma è software libero: è possibile ridistribuirlo e/o modificarlo secondo i termini della [Licenza Apache 2.0][license].
Accedi alla versione più recente di Threat Dragon sul [sito web demo][demo] e consulta le [pagine della documentazione][docs].
Vale anche la pena guardare il video fornito dalla serie OWASP Spotlight.
L'[area delle release su github][releases] contiene Threat Dragon dalla versione 1.3 fino alle ultime versioni 2.x. Le release precedenti provengono dal repository originale di Mike Goodwin.
C'è una buona panoramica del threat modeling e della valutazione del rischio da OWASP, che amplia gli obiettivi del progetto Threat Dragon:
Mike Goodwin è il fondatore e creatore di questo progetto, e questo repository è stato migrato dal repository originale di Mike Goodwin, che contiene le issue e le pull request da ottobre 2015 fino a giugno 2020.
Threat Dragon è principalmente un'applicazione web. L'applicazione web può memorizzare i file dei modelli di minaccia sul filesystem locale; inoltre l'accesso può essere configurato per:
Le versioni desktop di Threat Dragon memorizzano i file dei modelli di minaccia sul filesystem locale e non accedono a repository esterni. Puoi scaricare gli installer per Windows, MacOS e Linux.
L'aiuto per l'utente finale è disponibile sia per l'ultima [versione 2.x][docs] sia per la precedente versione 1.x.
Threat Dragon è stato originariamente scritto utilizzando 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ù attivamente mantenute e le versioni 2.x sono state riscritte per utilizzare Vue.js.
Per maggiori informazioni su come compilare/eseguire la versione 1.x, consultare il branch legacy-v1.x.
Installa git e [node.js][node] che include il gestore di pacchetti node npm
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 dell'applicazione web di Threat Dragon richiede alcune variabili d'ambiente; segui [la documentazione][config] su come impostare queste variabili.
Se è richiesto l'accesso a repository esterni, come Bitbucket / GitHub / GitLab, allora devi andare all'account del tuo repository e registrare l'applicazione. Ci sono guide passo passo su come farlo per [Bitbucket][bitbucket], [GitHub][github] e [GitLab][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, ferma sia il server back-end che l'applicazione front-end
dalla directory principale con il comando npm stop. Altrimenti interrompi sia il server che il front-end vue.
Threat Dragon mantiene immagini docker all'interno dell'area dell'organizzazione OWASP su Dockerhub.
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 container docker che è stato compilato localmente, prima configura il tuo [ambiente usando dotenv][config] ed 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/.
[][contributors]
Pull request, richieste di funzionalità, segnalazioni di bug e feedback di qualsiasi tipo sono molto benvenuti, fai riferimento alla pagina per i contributori.
Ci sono alcune [note per gli sviluppatori][notes] per aiutare a iniziare con questo progetto. Stiamo cercando di mantenere la copertura dei test relativamente alta, quindi includi i test nelle tue pull request.