Expert @hsouzaeduardo |
Especialista em Soluções distribuídas e Cloud, pós-graduado em Engenharia de Software, MBA em Arquitetura de Soluções e Dados &IA. Atuando há 25 anos com softwares para web, Mobile, Cloud, IoT, IIoT, e softwares embarcados. Atualmente atuando como Gerente de Arquitetura e inteligência Artificial . Instrutor Oficial Microsoft há mais de 10 anos, Microsoft MVP e apaixonado por tecnologia, inovação e defensor de que um bom feedback constrói gigantes e que todos merecem oportunidades e criador da fórmula: R = (T + D + TD)² Resultado = (Tempo + dedicação + Trabalho Duro) |
⌨️ Feito com 💜 by DIO
Este projeto é uma solução completa para análise de ameaças baseada na metodologia STRIDE, composta por um backend em FastAPI (Python) e um front-end em HTML/CSS/JS com visualização de ameaças usando Cytoscape.js.
- Upload de imagem de arquitetura e preenchimento de informações do sistema.
- Geração automática de modelo de ameaças STRIDE usando Azure OpenAI.
- Visualização do modelo de ameaças em grafo interativo (Cytoscape.js).
- Sugestões de melhoria para o modelo de ameaças.
- Botão para imprimir/exportar o grafo gerado.
- Python 3.10+
- Node.js (opcional, apenas se quiser servir o front-end com algum servidor local)
- Conta e deployment configurado no Azure OpenAI (veja variáveis de ambiente)
# Clone o projeto
git clone https://github.com/digitalinnovationone/stride-demo.git
cd stride-demo
- Acesse a pasta do backend:
cd module-1/01-introducao-backend
- Crie e ative um ambiente virtual (opcional, mas recomendado):
python -m venv .venv .venv\Scripts\activate # Windows source .venv/bin/activate # Linux/Mac
- Instale as dependências:
pip install -r requirements.txt
- Crie um arquivo
.env
com as seguintes variáveis (preencha com seus dados do Azure OpenAI):AZURE_OPENAI_API_KEY=xxxxxx AZURE_OPENAI_ENDPOINT=https://<seu-endpoint>.openai.azure.com/ AZURE_OPENAI_API_VERSION=2023-05-15 AZURE_OPENAI_DEPLOYMENT_NAME=<nome-do-deployment>
- Execute o backend:
O backend estará disponível em http://localhost:8001
uvicorn main:app --reload --host 0.0.0.0 --port 8001
- Acesse a pasta do front-end:
cd ../02-front-end
- Basta abrir o arquivo
index.html
no navegador (duplo clique ouopen index.html
).- Se quiser servir via servidor local (opcional):
npx serve . # ou python -m http.server 8080
- Se quiser servir via servidor local (opcional):
- O front-end espera que o backend esteja rodando em http://localhost:8001
- Azure OpenAI: Certifique-se de que seu deployment está ativo e as variáveis do
.env
estão corretas. - CORS: O backend já está configurado para aceitar requisições de qualquer origem, mas se for usar em produção, ajuste as origens permitidas.
- Limite de tokens: O modelo do Azure OpenAI pode ter limites de tokens. Ajuste
max_tokens
se necessário. - Impressão do grafo: O botão "Imprimir Grafo" exporta a visualização atual do grafo como imagem para impressão ou PDF.
- Formato do JSON: O front-end espera o JSON no formato retornado pelo backend. Se mudar o backend, ajuste o front-end conforme necessário.
- Portas: Certifique-se de que as portas 8001 (backend) e 8080 (front-end, se usar servidor) estejam livres.
stride-demo/
│
├── module-1/
│ ├── 01-introducao-backend/
│ │ ├── main.py
│ │ ├── requirements.txt
│ │ └── .env (crie este arquivo)
│ └── 02-front-end/
│ └── index.html
└── README.md
Só chamar que podemos ajudar !