
Una herramienta de modelado de amenazas de código abierto de OWASP
[
][build]
[
][latest]
[
][practices]
[OWASP][owasp] [Threat Dragon][project] es una aplicación de modelado de amenazas gratuita, de código abierto y multiplataforma. Se utiliza para dibujar diagramas de modelado de amenazas y para enumerar las amenazas de los elementos del diagrama. Mike Goodwin creó Threat Dragon como un proyecto comunitario de código abierto que proporciona una forma intuitiva y accesible de modelar amenazas.
Threat Dragon está diseñado para ser accesible para varios tipos de equipos, con énfasis en la flexibilidad y la simplicidad. El Proyecto tiene [estatus de Producción de OWASP][project] y sigue los valores y principios del [manifiesto de modelado de amenazas][manifesto].
Este programa es software libre: puede redistribuirlo y/o modificarlo bajo los términos de la [Licencia Apache 2.0][license].
Accede a la última versión de Threat Dragon en [el sitio web de demostración][demo] y consulta las [páginas de documentación][docs].
También vale mucho la pena ver el vídeo proporcionado por la serie OWASP Spotlight.
El [área de versiones de github][releases] contiene Threat Dragon desde la versión 1.3 hasta las últimas versiones 2.x. Las versiones anteriores provienen del repositorio original de Mike Goodwin.
Hay una buena descripción general del modelado de amenazas y la evaluación de riesgos de OWASP, y esto amplía lo que el proyecto Threat Dragon pretende lograr:
Mike Goodwin es el fundador y creador de este proyecto, y este repositorio se ha migrado desde el original de Mike Goodwin, que contiene los issues y pull requests desde octubre de 2015 hasta junio de 2020.
Threat Dragon es principalmente una aplicación web. La aplicación web puede almacenar archivos de modelos de amenazas en el sistema de archivos local; además, se puede configurar el acceso para:
Las versiones de escritorio de Threat Dragon almacenan los archivos de modelos de amenazas en el sistema de archivos local y no acceden a repositorios externos. Puedes descargar instaladores para Windows, MacOS y Linux.
La ayuda para el usuario final está disponible tanto para la última [versión 2.x][docs] como para la anterior versión 1.x.
Threat Dragon se escribió originalmente usando AngularJS versión 1.x, pero esta versión de Angular llegó al final de su vida útil. Esto significa que las versiones 1.x de Threat Dragon ya no se mantienen activamente y las versiones 2.x se han reescrito para usar Vue.js.
Para obtener más información sobre cómo compilar/ejecutar la versión 1.x, consulta la rama legacy-v1.x.
Instala git y [node.js][node], que incluye el gestor de paquetes de node npm
Clona el repositorio usando: git clone https://github.com/owasp/threat-dragon.git
Esto descarga el código en un directorio threat-dragon y el código de la aplicación está en dos subcarpetas,
una para la aplicación de back-end (td.server) y otra para el front-end (td.vue).
Instala desde el directorio raíz del proyecto usando: npm install
La variante de aplicación web de Threat Dragon requiere algunas variables de entorno; sigue [la documentación][config] sobre cómo configurar estas variables.
Si se requiere acceso a repositorios externos, como Bitbucket / GitHub / GitLab, entonces debes ir a la cuenta de tu repositorio y registrar la aplicación. Hay guías paso a paso sobre cómo hacer esto para [Bitbucket][bitbucket], [GitHub][github] y [GitLab][gitlab].
Cuando se ejecuta en Windows, y durante el desarrollo, el front-end y el back-end del servidor
se pueden iniciar por separado en modo "watch" usando los comandos: npm run dev:server y npm run dev:vue.
Alternativamente, si se ejecuta en Linux o MacOS, inicia tanto el servidor de back-end como la aplicación de front-end
desde el directorio raíz usando: npm start.
Con el front-end y el back-end en ejecución, accede con un navegador a http://localhost:8080/
Si usas npm start, detén tanto el servidor de back-end como la aplicación de front-end
desde el directorio raíz con el comando npm stop. De lo contrario, sal tanto del servidor como del front-end de vue.
Threat Dragon mantiene imágenes de docker dentro del área de la organización OWASP en Dockerhub.
Cada versión está etiquetada como v{major}.{minor}.{patch}, por ejemplo v2.2.0:
docker pull owasp/threat-dragon:v2.2.0La etiqueta latest (que es la predeterminada) bien podría ser una versión de desarrollo,
así que usa la etiqueta stable, que siempre será la última versión oficial:
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.0Suponiendo que estás usando el puerto http 8080 y accediendo a Threat Dragon en http://localhost:8080/.
Para ejecutar Threat Dragon en un contenedor docker que se ha compilado localmente, primero configura tu [entorno usando dotenv][config] y ejecuta desde el directorio raíz del proyecto:
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 el puerto http 8080 y accediendo a Threat Dragon en http://localhost:8080/.
[][contributors]
Las solicitudes de extracción, solicitudes de funciones, informes de errores y comentarios de cualquier tipo son muy bienvenidos, consulta la página para colaboradores.
Hay algunas [notas para desarrolladores][notes] para ayudar a comenzar con este proyecto. Estamos tratando de mantener la cobertura de pruebas relativamente alta, así que incluye pruebas en tus solicitudes de extracción.