
Un outil open source de modélisation des menaces de l'OWASP
[
][build]
[
][latest]
[
][practices]
[OWASP][owasp] [Threat Dragon][project] est une application de modélisation des menaces gratuite, open source et multiplateforme. Elle est utilisée pour dessiner des diagrammes de modélisation des menaces et pour lister les menaces des éléments du diagramme. Mike Goodwin a créé Threat Dragon en tant que projet communautaire open source qui offre une manière intuitive et accessible de modéliser les menaces.
Threat Dragon est conçu pour être accessible à différents types d'équipes, avec un accent sur la flexibilité et la simplicité. Le projet a le [statut de production OWASP][project] et suit les valeurs et principes du [manifeste de modélisation des menaces][manifesto].
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la [licence Apache 2.0][license].
Accédez à la dernière version de Threat Dragon sur [le site de démonstration][demo] et consultez les [pages de documentation][docs].
Il vaut également la peine de regarder la vidéo fournie par la série OWASP Spotlight.
La [zone de publication GitHub][releases] contient Threat Dragon de la version 1.3 aux dernières versions 2.x. Les versions précédentes proviennent du dépôt original de Mike Goodwin.
Il existe une bonne présentation de la modélisation des menaces et de l'évaluation des risques par OWASP, qui développe ce que vise le projet Threat Dragon :
Mike Goodwin est le fondateur et créateur de ce projet, et ce dépôt a été migré depuis le dépôt original de Mike Goodwin, qui contient les tickets et les pull requests d'octobre 2015 à juin 2020.
Threat Dragon est principalement une application web. L'application web peut stocker les fichiers de modèle de menace sur le système de fichiers local ; en outre, l'accès peut être configuré pour :
Les versions de bureau de Threat Dragon stockent les fichiers de modèle de menace sur le système de fichiers local et n'accèdent pas aux dépôts externes. Vous pouvez télécharger les programmes d'installation pour Windows, MacOS et Linux.
L'aide destinée aux utilisateurs finaux est disponible à la fois pour la dernière [version 2.x][docs] et pour la précédente version 1.x.
Threat Dragon a été initialement écrit avec AngularJS version 1.x, mais cette version d'Angular a atteint sa fin de vie. Cela signifie que les versions 1.x de Threat Dragon ne sont plus activement maintenues et que les versions 2.x ont été réécrites pour utiliser Vue.js.
Pour plus d'informations sur la compilation/l'exécution de la version 1.x, veuillez consulter la branche legacy-v1.x.
Installez git et [node.js][node] qui inclut le gestionnaire de paquets node npm
Clonez le dépôt à l'aide de : git clone https://github.com/owasp/threat-dragon.git
Cela télécharge le code dans un répertoire threat-dragon et le code de l'application se trouve dans deux sous-dossiers,
l'un pour l'application back-end (td.server) et l'autre pour le front-end (td.vue).
Installez depuis le répertoire racine du projet à l'aide de : npm install
La variante d'application web de Threat Dragon nécessite certaines variables d'environnement ; suivez [la documentation][config] pour savoir comment définir ces variables.
Si l'accès à des dépôts externes est nécessaire, tels que Bitbucket / GitHub / GitLab, vous devez alors vous rendre sur le compte de votre dépôt et enregistrer l'application. Des guides pas à pas expliquent comment procéder pour [Bitbucket][bitbucket], [GitHub][github] et [GitLab][gitlab].
Lors de l'exécution sous Windows, et pendant le développement, le front-end et le back-end du serveur
peuvent être démarrés séparément en mode « watch » à l'aide des commandes : npm run dev:server et npm run dev:vue.
Sinon, si vous utilisez Linux ou MacOS, démarrez à la fois le serveur back-end et l'application front-end
depuis le répertoire racine à l'aide de : npm start.
Une fois le front-end et le back-end en cours d'exécution, accédez-y avec un navigateur à l'adresse http://localhost:8080/
Si vous utilisez npm start, arrêtez à la fois le serveur back-end et l'application front-end
depuis le répertoire racine avec la commande npm stop. Sinon, interrompez à la fois le serveur et le front-end vue.
Threat Dragon maintient des images docker au sein de l'espace de l'organisation OWASP sur Dockerhub.
Chaque version est étiquetée comme v{major}.{minor}.{patch}, par ex. v2.2.0 :
docker pull owasp/threat-dragon:v2.2.0Le tag latest (qui est celui par défaut) peut bien être une version de développement,
utilisez donc le tag stable, qui sera toujours la dernière version officielle :
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.0En supposant que vous utilisez le port http 8080 et accédez à Threat Dragon sur http://localhost:8080/.
Pour exécuter Threat Dragon dans un conteneur docker qui a été construit localement, configurez d'abord votre [environnement à l'aide de dotenv][config] et exécutez depuis le répertoire racine du projet :
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:devEn utilisant le port http 8080 et en accédant à Threat Dragon sur http://localhost:8080/.
[][contributors]
Les pull requests, demandes de fonctionnalités, rapports de bugs et retours de toute nature sont très bienvenus, veuillez vous référer à la page pour les contributeurs.