Skip to content

digitalinnovationone/stride-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DIO Education

Formação: Agents de IA

DIO Project License

Expert

@hsouzaeduardo
@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)

Material de Apoio

💻 Módulos

# Módulo Materiais
01 📁 Backend Material de Apoio
02 📁 Frontend Material de Apoio


⌨️ Feito com 💜 by DIO



banner

STRIDE Threat Model Analyzer

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.

Funcionalidades

  • 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.

Como executar o projeto

1. Pré-requisitos

  • 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)

2. Clonando o repositório

# Clone o projeto
 git clone https://github.com/digitalinnovationone/stride-demo.git
 cd stride-demo

3. Configurando o backend (FastAPI)

  1. Acesse a pasta do backend:
    cd module-1/01-introducao-backend
  2. Crie e ative um ambiente virtual (opcional, mas recomendado):
    python -m venv .venv
    .venv\Scripts\activate  # Windows
    source .venv/bin/activate  # Linux/Mac
  3. Instale as dependências:
    pip install -r requirements.txt
  4. 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>
  5. Execute o backend:
    uvicorn main:app --reload --host 0.0.0.0 --port 8001
    O backend estará disponível em http://localhost:8001

4. Configurando o front-end

  1. Acesse a pasta do front-end:
    cd ../02-front-end
  2. Basta abrir o arquivo index.html no navegador (duplo clique ou open index.html).
    • Se quiser servir via servidor local (opcional):
      npx serve .
      # ou
      python -m http.server 8080
  3. O front-end espera que o backend esteja rodando em http://localhost:8001

Cuidados e dicas

  • 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.

Estrutura do projeto

stride-demo/
│
├── module-1/
│   ├── 01-introducao-backend/
│   │   ├── main.py
│   │   ├── requirements.txt
│   │   └── .env (crie este arquivo)
│   └── 02-front-end/
│       └── index.html
└── README.md

Dúvidas?

Só chamar que podemos ajudar !

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published