
stride-gpt v0.19.0
Uma ferramenta de modelagem de ameaças alimentada por IA que utiliza os modelos GPT da OpenAI para gerar modelos de ameaça para uma determinada aplicação com base na metodologia STRIDE.
STRIDE GPT é uma ferramenta de modelagem de ameaças baseada em IA que utiliza Modelos de Linguagem de Grande Escala (LLMs) para gerar modelos de ameaças e árvores de ataque para uma determinada aplicação, baseando-se na metodologia STRIDE. Os utilizadores fornecem detalhes da aplicação, como o tipo de aplicação, métodos de autenticação, e se a aplicação está exposta à Internet ou processa dados sensíveis. O modelo então gera a sua saída com base nas informações fornecidas.
Tabela de Conteúdos
- Apoie o Projeto
- Funcionalidades
- Implementação Empresarial
- Palestra no Open Security Summit
- Registo de Alterações
- Instalação
- Estrutura do Repositório
- Utilização
- Exemplo de saída
- Melhores Práticas de Segurança
- Contribuir
- Licença
Apoie o Projeto
Se achar o STRIDE GPT útil, considere apoiar o projeto:
- ⭐ Dê uma estrela ao repositório no GitHub para ajudar mais pessoas a descobrir a ferramenta
- ☕ Compre-me um café para apoiar o desenvolvimento e manutenção contínuos
Funcionalidades
- Análise agêntica de código-fonte: Aponte a CLI para um código-fonte e obtenha um modelo de ameaças STRIDE profundo e autónomo — o agente planeia, explora e sintetiza descobertas entre subsistemas
- CLI e REPL interativo: Experiência completa no terminal com conclusão por tabulação, histórico e progresso em tempo real — sem necessidade de browser
- Interface web Streamlit simples e fácil de usar
- Gera modelos de ameaças com base na metodologia STRIDE
- Suporte a IA agêntica: Modelagem de ameaças especializada para sistemas de IA agêntica com integração do OWASP Top 10 para Aplicações Agênticas (ASI)
- Suporte a IA generativa: Modelagem de ameaças para aplicações GenAI com integração do OWASP LLM Top 10
- Mapeamento MITRE ATT&CK & ATLAS: As ameaças são anotadas com identificadores padronizados de técnicas adversárias (MITRE ATT&CK Enterprise para ataques a infraestruturas tradicionais, ATLAS para ataques específicos de ML/LLM) — apresentados como colunas em markdown, pills com links em HTML e propriedades
mitre_attackem SARIF - Deteção de padrões arquiteturais: Detecta automaticamente pipelines RAG, sistemas multiagente, ambientes de execução de código, ecossistemas de ferramentas e mais a partir de descrições de aplicações (inspirado no CSA MAESTRO)
- Editor de diagramas draw.io incorporado: Crie e edite diagramas de arquitetura diretamente no STRIDE-GPT usando o editor diagrams.net integrado — sem necessidade de ferramentas externas. Os diagramas são analisados como XML para extrair componentes, conexões e limites de confiança, fornecendo um contexto significativamente mais rico para a geração do modelo de ameaças do que a análise de imagens isoladamente. O fluxo de trabalho de carregamento de imagens existente permanece inalterado. Por predefinição, o editor carrega a partir do
embed.diagrams.netalojado; para implementações auto-hospedadas ou isoladas, aponte-o para o seu próprio draw.io através da variável de ambienteSTRIDE_GPT_DRAWIO_URL - Multi-modal: Utilize diagramas de arquitetura, fluxogramas, etc., como entradas para modelagem de ameaças em todos os modelos com capacidade de visão suportados
- Diagramas de Fluxo de Dados (DFDs): Gere DFDs a partir da descrição da sua aplicação (ou analise uma imagem de DFD carregada), edite o código Mermaid fonte em tempo real e alimente o diagrama confirmado de volta para as instruções do Modelo de Ameaças e da Árvore de Ataque como o modelo de sistema autoritário. A CLI
/analyzetambém emite um DFD a nível de sistema juntamente com as suas descobertas - Gera árvores de ataque para enumerar possíveis caminhos de ataque
- Sugere possíveis mitigações para as ameaças identificadas
- Suporta a pontuação de risco DREAD para ameaças identificadas
- Gera casos de teste Gherkin com base nas ameaças identificadas
- Análise de repositórios GitHub para modelagem abrangente de ameaças (incluindo suporte para GitHub Enterprise)
- Múltiplos formatos de saída: Markdown, JSON, SARIF (importável para GitHub, GitLab, Azure DevOps, IDEs) e uma visualização HTML autossuficiente para partilha com partes interessadas
- Suporte a modelos de raciocínio avançados (séries OpenAI GPT-5.4/5.5, Anthropic Claude 4.6/4.8 com Extended Thinking, Google Gemini 3, série Mistral Magistral)
- Suporte abrangente a fornecedores de LLM via LiteLLM: OpenAI, Anthropic, Google AI, Mistral, Groq, DeepSeek, além de alojamento local via LM Studio Server
- Sem armazenamento de dados; os detalhes da aplicação não são guardados
- Disponível como imagem de contentor Docker para fácil implementação
- Suporte a variáveis de ambiente para configuração segura
Implementação Empresarial
Quer personalizar o STRIDE-GPT para a sua organização? Consulte o nosso guia abrangente de Operacionalização para aprender como:
- 🎯 Injetar controlos e normas de segurança organizacionais
- 📋 Personalizar modelos de ameaças com os seus requisitos de conformidade
- 🔧 Fazer fork e implementar o STRIDE-GPT internamente
- 📊 Obter modelos de ameaças conscientes do contexto e acionáveis, específicos para o seu ambiente
O guia inclui instruções passo a passo, exemplos de código e padrões de implementação para organizações que procuram escalar a modelagem de ameaças baseada em IA nas suas equipas.
Palestra no Open Security Summit
Em janeiro de 2024, dei uma palestra sobre o STRIDE GPT no Open Security Summit. Durante a palestra, discuti o início do projeto, as suas funcionalidades principais, atualizações recentes e alguns planos futuros. Pode assistir à apresentação completa abaixo:
Este vídeo é um excelente recurso para qualquer pessoa interessada em entender como o STRIDE GPT funciona e como pode ser usado para melhorar a modelagem de ameaças.
Registo de Alterações
Versão 0.19 (mais recente)
- Opção
--version(#161):stride-gpt --versionagora imprime a versão instalada e termina, e o banner da TUI interativa mostra a versão em execução para que possa confirmar rapidamente qual está a usar. - Gestão de dependências consolidada no uv (resolve #155):
uv.locké agora a única fonte de verdade para todas as dependências. Os ficheirosrequirements.txtduplicados foram retirados; a imagem Docker da interface do utilizador e o fluxo de trabalho de verificação de segurança instalam a partir deuv.lockviauv export, para que o que é distribuído e o que é verificado já não possa divergir do que está bloqueado. Sem alterações para os utilizadores depip install stride-gpt. - Documentação: Adicionado um exemplo de saída markdown de modelo de ameaças (#151) e uma folha de dicas do REPL interativo (#163) ao README.
Versão 0.18
- Editor de diagramas draw.io incorporado (#132, #138): O separador Modelo de Ameaças do Streamlit agora incorpora o editor diagrams.net para que possa esboçar um diagrama de arquitetura na aplicação; ao guardar, o XML do diagrama é analisado (componentes, conexões, limites de confiança) e integrado na instrução do modelo de ameaças. A análise do GitHub, o carregamento de imagens, o editor de diagramas e um construtor guiado assistido por IA são unificados numa única secção de separadores "descreva a sua aplicação" sobre uma única tela de descrição, para que as entradas opcionais já não sobrecarreguem o campo de descrição principal. O construtor guiado agora chama o modelo selecionado para redigir uma descrição e sugerir detalhes relevantes de segurança em falta, substituindo o modelo estático anterior e as verificações de cobertura. Para implementações auto-hospedadas ou isoladas, o anfitrião do editor é configurável via
STRIDE_GPT_DRAWIO_URL(predefinição:embed.diagrams.net), a origempostMessagedo iframe está delimitada a este, e o XML de diagramas não confiável é analisado comdefusedxml. - Suporte ao fornecedor DeepSeek (resolve #133): DeepSeek é agora um fornecedor de modelos de primeira classe tanto no assistente de configuração da CLI como na interface Streamlit, oferecendo
deepseek-v4-proedeepseek-v4-flash. As chamadas são encaminhadas através da integração nativadeepseek/do LiteLLM (ponto de extremidade alojado, sem necessidade de URL base personalizado); defina a sua chave viaDEEPSEEK_API_KEY. - Suporte a Diagramas de Fluxo de Dados (resolve #56): Novo separador "Diagrama de Fluxo de Dados" na interface Streamlit que gera DFDs a partir da descrição da aplicação, analisa imagens de DFD carregadas através de modelos com capacidade de visão e apresenta um painel de código Mermaid editável com pré-visualização em tempo real. Marcar "Usar este DFD para o modelo de ameaças" armazena o diagrama confirmado no estado da sessão e insere-o nas instruções subsequentes do Modelo de Ameaças e da Árvore de Ataque como o modelo de sistema autoritário — fechando o ciclo descrição → DFD → revisão → modelo de ameaças refinado que a issue solicitava. O agente
/analyzeda CLI também produz um DFD a nível de sistema após a síntese, renderizado como um bloco Mermaid no relatório markdown, transportado no campo JSONdata_flow_diagrame mostrado na vista HTML através de um runtime Mermaid carregado por CDN. A geração de DFD é envolvida de modo a que um diagrama defeituoso nunca cause falha num bom relatório. - Erros elegantes na análise de repositórios GitHub (resolve #92): A interface Streamlit agora captura falhas da API do GitHub durante a análise de repositórios em vez de mostrar um stack trace bruto, com mensagens acionáveis para 404 (incluindo a abrangência de PATs refinados, que dão 404 até em repositórios públicos), 401, 403/limite de taxa e erros de rede. Os URLs dos repositórios são normalizados (a barra final
/e o sufixo.gitsão removidos) antes da análise, para que.../repo/e.../repo.gitjá não causem 404 indevidamente. - Intermediários estruturados juntamente com relatórios (resolve #122): Quando
-o <caminho>é passado para/analyzeou/quick, ficheiros JSON irmãos são escritos ao lado do relatório —<base>.plan.json(oAnalysisPlan),<base>.findings.json(descobertas de subsistemas, ameaças transversais e o diagrama de fluxo de dados) e<base>.run.json(umRunManifestque regista modelos, hash de configuração, versão, temporização, quais cartões de referência foram realmente carregados e umrun_summaryque indica se a execução foi concluída ou truncada por um limite de chamadas). Os manifestos excluem chaves de API e pontos de extremidade e ocultam caminhos do sistema de ficheiros, pelo que são seguros para consolidar ou anexar a um ticket. A opção de formato-fgoverna apenas o artefacto do relatório; os irmãos são sempre JSON. - Recuperação de MITRE ATT&CK com separadores por vírgula (resolve #134): Quando um modelo de trabalho devolve
MITRE_ATTACKcomo uma string separada por vírgulas (ex.:"T1190, T1059, AML.T0053") em vez da forma de lista canónica, os IDs das técnicas são agora recuperados em vez de descartados. Anteriormente, os relatórios markdown/HTML mostravam a coluna "MITRE ATT&CK" mas deixavam todas as células em branco, e a exportação SARIF perdia os IDs completamente. Todos os renderizadores (markdown, pills HTML, SARIF) e a verificação de visibilidade da coluna agora passam por um normalizador único, e prosa livre que não seja um ID de técnica é filtrada para que a coluna nunca se encha com falsos positivos. - Correção 0.18.1 (resolve #159): Corrigidas as chamadas ao LM Studio que falhavam com
The api_key client option must be setquando nenhuma chave de fornecedor cloud estava presente no ambiente. O LM Studio é encaminhado através do prefixoopenai/do LiteLLM, e o SDK da OpenAI recusa-se a construir um cliente sem chave mesmo quandoapi_baseaponta para localhost, pelo que a CLI agora passa um placeholder para fornecedores que não autenticam. Relacionadamente, a verificação de ambiente de último recurso do nível de trabalho já não se aplica a esses fornecedores: umaANTHROPIC_API_KEYouOPENAI_API_KEYconfigurada era anteriormente enviada para o anfitrião queapi_basenomeasse, o que simultaneamente mascarava este bug e colocava uma chave real na rede. Se utiliza LM Studio e tem essa chave definida, ela já não é transmitida para o seu ponto de extremidade.
Versão 0.17
- Integração MITRE ATT&CK e ATLAS (resolve #36): As ameaças emitidas por
/analyzee/quickpodem agora transportar identificadores padronizados de técnicas adversárias do MITRE ATT&CK Enterprise (v17.1) e do MITRE ATLAS (2026.05). Dois novos cartões de referência com divulgação progressiva (mitre_enterprise,mitre_atlas) instruem o agente a usar apenas os IDs e nomes catalogados, eliminando a alucinação de IDs. Os cartões são regenerados a partir de STIX/YAML a montante viascripts/refresh_mitre_cards.pyem vez de escritos por memorização do modelo. As técnicas são renderizadas como uma colunaMITRE ATT&CKem tabelas markdown, pills azul-céu clicáveis em HTML e arraysproperties.mitre_attackem SARIF. - Relatório HTML complementar:
/analyzee/quickagora emitem um relatório HTML autossuficiente e visualizável em navegador juntamente com as saídas markdown/JSON/SARIF, adequado para partilha com partes interessadas. - Anthropic Claude Opus 4.8: Adicionado suporte para
claude-opus-4-8, o modelo de topo mais recente da Anthropic, juntamente com o Opus 4.7 existente. Qualquer um pode ser selecionado como modelo arquiteto ou de trabalho. - Consolidação da imagem da interface do utilizador: A configuração Docker de duplo namespace (
mrwadams/stridegpt-ui) foi removida; a interface web Streamlit reside agora apenas emmrwadams/stridegpt. Os utilizadores da CLI devempip install stride-gptem vez de descarregar um contentor. - Higiene de dependências: Removido o pacote
mistralainão utilizado (o acesso ao Mistral já flui através do LiteLLM). Atualizada a basepython:3.12-slimpara a imagem da interface do utilizador e removido ocurl, eliminando 21 alertas CVE de média/alta gravidade nos PRs #113–#115. - Limpeza de qualidade de código: Limpos os alertas de nota do CodeQL (importações não utilizadas,
exceptgenérico, código morto) (#116).
Versão 0.16
- CLI autónoma: Primeira versão do STRIDE-GPT como uma CLI
pip install stride-gpt, separada da interface web Streamlet legada. Dois comandos principais:/analyze(análise agêntica autónoma de código-fonte com um planeador, ciclos de agente com uso de ferramentas por subsistema e uma passagem de síntese transversal) e/quick(modelo de ameaças de disparo único a partir de uma descrição escrita da aplicação). - Cartões de referência com divulgação progressiva: Os cartões
genai(OWASP LLM Top 10),agentic(OWASP ASI Top 10) einsider_threatautodescrevem-se através de frontmatter YAML; o agente descobre-os vialist_referencese obtém os corpos viaload_reference. - Encaminhamento de modelos de dois níveis: Divisão entre modelo arquiteto + modelo de trabalho para análise económica, com modelos de topo reservados para planeamento e síntese.
- REPL interativo: Experiência completa no terminal com conclusão por tabulação, histórico, progresso em tempo real e uma linha de estado.
- Saída em múltiplos formatos: Markdown, JSON e SARIF (importável para GitHub, GitLab, Azure DevOps, IDEs).
- Correção 0.16.1: Elevado o logger do LiteLLM para ERROR em
stride_gpt/__init__.pypara que os avisos de pré-carregamento do Bedrock/SageMaker não apareçam em instalações novas sembotocore.
Clique para ver as notas de lançamento de versões anteriores (0.15 e anteriores).
Versão 0.15
-
Suporte a Aplicações de IA Agêntica: Adicionado suporte abrangente para modelagem de ameaças de sistemas de IA agêntica com integração do OWASP Top 10 para Aplicações Agênticas (ASI01-ASI10). Basta selecionar "Aplicação de IA agêntica" e descrever o seu sistema — o LLM deteta automaticamente padrões arquiteturais e aplica categorias de ameaças relevantes. Cada risco ASI é mapeado para a categoria STRIDE apropriada para uma análise de ameaças consistente.
-
Suporte a Aplicações de IA Generativa: Adicionado suporte para modelagem de ameaças de aplicações GenAI com integração do OWASP LLM Top 10 (LLM01-LLM10). Selecione "Aplicação de IA generativa" e descreva o seu sistema para receber uma análise de ameaças adaptada especificamente a LLMs. As aplicações de IA agêntica incluem ambas as categorias de risco LLM e ASI para uma cobertura abrangente.
-
Deteção de Padrões Arquiteturais Inspirada no MAESTRO: Análise de ameaças agêntica melhorada com deteção automática de padrões arquiteturais a partir de descrições de aplicações, inspirada no framework MAESTRO da Cloud Security Alliance. O LLM agora identifica e aplica ameaças específicas de padrões para:
- Sistemas RAG/Recuperação: Envenenamento de armazenamentos vetoriais, manipulação de embeddings, fuga entre inquilinos
- Sistemas Multiagente: Personificação de agentes, adulteração de mensagens entre agentes, comprometimentos em cascata
- Ambientes de Execução de Código: Fuga de sandbox, fuga de contentor, geração de código malicioso
- Ecossistemas de Ferramentas/MCP: Fornecedores de ferramentas fraudulentos, ataques à cadeia de fornecimento, vulnerabilidades de deputado confuso
- Memória Persistente: Envenenamento de memória, fuga entre sessões, manipulação de estado
- Operações Autónomas: Persistência de agentes fraudulentos, evasão de supervisão humana, loops descontrolados
-
Análise de Ameaças entre Camadas: Os modelos de ameaças agora incluem cadeias de ataque entre componentes que mostram como o comprometimento numa camada arquitetural pode permitir ataques noutras (ex.: envenenamento de RAG → desvio de objetivo do agente → uso indevido de ferramenta → exfiltração de dados).
-
Sugestões de Melhoria Reforçadas: Para aplicações agênticas, as sugestões de melhoria agora solicitam detalhes arquiteturais específicos, como framework de agente, protocolos de comunicação entre agentes, mecanismos de sandbox e implementações de disjuntores.
-
Atualizações de Modelos OpenAI: Atualizados para a série de modelos GPT-5.2 (gpt-5.2, gpt-5.2-pro, gpt-5-mini, gpt-5-nano, gpt-5, gpt-4.1). Removidos modelos obsoletos (gpt-4o, gpt-4o-mini, o3, o3-mini, o4-mini).
-
Modelos Anthropic Claude 4.5: Atualizados para a série Claude 4.5 (claude-sonnet-4-5, claude-haiku-4-5, claude-opus-4-5). Adicionada a caixa de seleção "Ativar Extended Thinking" para capacidades de raciocínio reforçadas em qualquer modelo Claude. Aumentados os tokens máximos para 32k (modo normal) e 48k (modo de pensamento).
-
Preview do Google Gemini 3: Adicionados modelos de preview do Gemini 3 (gemini-3-pro-preview, gemini-3-flash-preview) juntamente com os modelos Gemini 2.5. Suporte ao modo de pensamento estendido para modelos Gemini 3.
-
Atualizações de Modelos Mistral: Atualizados para as versões mais recentes dos modelos Mistral, incluindo Mistral Large 3, Medium 3.1, Small 3.2, Ministral 3 (8B/14B) e Magistral 1.2 (Medium/Small).
-
Novo Logotipo do Projeto: Marca renovada com um design de escudo + rede neural mais limpo e minimalista.
-
Correção de Erro: Corrigido problema em que a saída do modelo de ameaças desaparecia após clicar no botão de descarregamento.
Versão 0.14.1
- Infraestrutura de Segurança: Adicionada verificação e reforço de segurança automatizados abrangentes, incluindo:
- Fluxos de trabalho GitHub Actions para Bandit (segurança Python), CodeQL (deteção de vulnerabilidades), pip-audit (verificação de dependências), Safety (vulnerabilidades de pacotes), Gitleaks (deteção de segredos) e Trivy (verificação de imagens Docker)
- SECURITY.md com processo de comunicação de vulnerabilidades (SLA de 48 horas para reconhecimento) e melhores práticas de segurança
- Configuração Docker melhorada com reforço de segurança, limites de recursos e docker-compose.yml pronto para produção
- Configuração Dependabot para atualizações semanais automatizadas de dependências
- Orientação para gestão de segredos pronta para produção (segredos Docker Swarm, gestores de segredos cloud)
- Guia de Operacionalização Empresarial: Adicionado guia abrangente para personalizar o STRIDE-GPT com contexto organizacional, incluindo controlos de segurança, requisitos de conformidade, stacks tecnológicas aprovadas e padrões de implementação para uso empresarial.
Versão 0.14- Suporte para a série GPT-5: Adicionado suporte abrangente para os modelos da série GPT-5 da OpenAI (gpt-5, gpt-5-mini, gpt-5-nano) em todas as funcionalidades de modelagem de ameaças. Esses modelos avançados de raciocínio fornecem capacidades analíticas aprimoradas com alocação adequada de tokens tanto para raciocínio interno quanto para geração de saída.
- Integração com Anthropic Claude 4: Adicionado suporte para os modelos mais recentes Claude 4 da Anthropic (claude-opus-4-1-20250805, claude-opus-4-20250514 e claude-sonnet-4-20250514) com capacidades aprimoradas.
- Suporte ao GitHub Enterprise: Adicionado suporte para repositórios do GitHub Enterprise. A ferramenta agora detecta e configura automaticamente o endpoint de API apropriado com base na URL do repositório, facilitando a análise de repositórios hospedados em instâncias privadas do GitHub Enterprise. (Agradecimentos a @danielpops pela contribuição!)
- Integração aprimorada de modelos de raciocínio: Atualizado o tratamento de parâmetros para usar
max_completion_tokensem vez do obsoletomax_tokenspara GPT-5 e outros modelos de raciocínio da OpenAI, garantindo compatibilidade com os requisitos mais recentes da API da OpenAI. - Exibição aprimorada da avaliação DREAD: Removidos os limites de truncamento nas descrições de cenários da avaliação DREAD, permitindo que os usuários visualizem cenários de ameaças completos na tabela de avaliação de risco, em vez de versões abreviadas com "..." .
- Atualizações de segurança: Dependências atualizadas para corrigir vulnerabilidades de segurança identificadas pelo Snyk, incluindo atualizações para anyio, zipp, tornado, requests e urllib3.
- Atualizações de modelos Mistral: Adicionado suporte para os modelos mais recentes da Mistral, incluindo Magistral Medium/Small (modelos de raciocínio), Mistral Medium e Ministral 8B.
- Atualizações de modelos Groq: Seleção de modelos Groq atualizada com modelos OpenAI GPT-OSS (120B, 20B), mantidos Llama 3.3 70B e 3.1 8B, mantido DeepSeek R1, e adicionados Moonshot Kimi K2 e Qwen3 32B.
- Atualização Google Gemini 2.5 GA: Atualizado para usar as versões de Disponibilidade Geral dos modelos Gemini 2.5 (Pro, Flash, Flash Lite), substituindo as versões prévias de pré-visualização.
- Apoie o projeto: Adicionado um botão "Buy me a coffee" na barra lateral para permitir que os usuários apoiem o desenvolvimento e a manutenção contínuos do STRIDE GPT.
Version 0.13
- Novos modelos OpenAI: Adicionado suporte para os modelos mais recentes da OpenAI: gpt-4.1, o3 e o4-mini, mantendo o suporte para o3-mini. Esses modelos de raciocínio fornecem capacidades analíticas detalhadas.
- Migração para o novo SDK Google GenAI: Migração completa para o novo SDK Google GenAI, removendo toda dependência da biblioteca obsoleta Google Generative AI. Integração do modelo Gemini (Google AI) refatorada em todos os módulos para melhor consistência e desempenho.
- Suporte aprimorado a modelos de raciocínio: Framework de raciocínio expandido para funcionar com todos os modelos de raciocínio da OpenAI (o1, o3, o3-mini, o4-mini) em todas as funcionalidades de modelagem de ameaças, incluindo geração de modelo de ameaças, árvores de ataque, mitigações e avaliações DREAD.
- Limites de token aumentados: Limites de token atualizados para novos modelos para aproveitar seus contextos expandidos, especialmente para gpt-4.1 que suporta 1 milhão de tokens e o4-mini que suporta 200 mil tokens.
- Suporte multimodal aprimorado: Upload e análise de imagens agora funcionam com mais modelos, incluindo Gemini 2.5, Claude 3 e Claude 4. Suporte expandido para análise de vários formatos de imagem em todos os modelos com capacidade de visão.
- Atualizado para os modelos de pré-visualização mais recentes do Gemini: Transição para usar as versões mais recentes dos modelos de pré-visualização do Gemini para melhor desempenho e capacidades.
Version 0.12
- Integração com Claude 3.7: Adicionado suporte abrangente para os modelos Claude 3.7 da Anthropic em todas as funcionalidades de modelagem de ameaças, incluindo o inovador "modo de pensamento" que fornece raciocínio mais detalhado durante a análise.
- Análise aprimorada de repositórios GitHub: Funcionalidade de análise de repositórios GitHub significativamente aprimorada com seleção inteligente de arquivos, melhor suporte a linguagens de programação e acompanhamento de progresso durante a análise.
- Suporte à pré-visualização do GPT-4.5: Adicionado suporte para o modelo de pré-visualização GPT-4.5 da OpenAI com orientação e descrições aprimoradas para seleção de modelo.
- Otimizações de desempenho: Desempenho geral da aplicação melhorado com melhor rastreamento de uso de tokens e sistemas de aviso para quando os limites de token estão se aproximando.
Version 0.11
- Suporte ao LM Studio Server: Adicionado suporte para usar o LM Studio Server como provedor de modelo, permitindo que os usuários executem seus próprios LLMs locais com endpoints de API compatíveis com OpenAI.
- Suporte a árvores de ataque do Google Gemini: Adicionado suporte para gerar árvores de ataque usando modelos Google Gemini, expandindo as opções disponíveis para os usuários.
- Suporte a novos modelos: Adicionado suporte para modelos de raciocínio (o1 e o3-mini da OpenAI, DeepSeek R1 via API Groq) e o recém-lançado Gemini 2.0 Flash da Google para inferência mais rápida.
- Geração aprimorada de árvores de ataque: Geração de árvores de ataque melhorada com análise robusta de JSON e conversão para diagramas Mermaid, tornando a saída mais confiável e visualmente atraente.
- Descoberta dinâmica de modelos: Adicionada descoberta automática de modelos para o LM Studio Server, permitindo que os usuários selecionem entre os modelos disponíveis em suas instâncias locais.
- Geração aprimorada de modelos de ameaças: Orientações e prompts para geração de modelos de ameaças aprimorados para produzir resultados mais abrangentes e acionáveis.
- Suporte a saída estruturada: Manipulação de saída JSON aprimorada em todos os provedores de modelo para garantir geração confiável de modelos de ameaças e avaliações DREAD.
- Melhorias na interface do usuário: Interface do usuário atualizada para acomodar novas configurações de modelo e mensagens de aviso melhoradas para limitações de LLMs locais.
Version 0.10
- Análise de repositórios GitHub: O STRIDE GPT agora suporta análise automática de repositórios GitHub. Os usuários podem fornecer uma URL de repositório GitHub, e a ferramenta analisará o README e arquivos-chave para gerar um modelo de ameaças mais abrangente.
- Suporte a variáveis de ambiente: Adicionado suporte para carregar chaves de API e outras configurações de variáveis de ambiente, melhorando a segurança e a facilidade de implantação.
- Tratamento de erros aprimorado: Mecanismos de tratamento de erros e repetição para chamadas de API melhorados para aumentar a confiabilidade.
- Melhorias na interface do usuário: Interface do usuário atualizada para acomodar novos recursos e melhorar a experiência geral do usuário.
Version 0.9
Release highlights:
- Mistral Client v1.0: O STRIDE GPT agora usa a v1.0 do Mistral Client, que resolve as mudanças de quebra introduzidas na versão mais recente da API Mistral. Isso garante que os usuários do STRIDE GPT possam continuar a usar a API Mistral para tarefas de modelagem de ameaças.
Version 0.8.1
This release added support for the following models:
-
GPT4o mini: Adicionei suporte para o modelo GPT4o mini recentemente lançado pela OpenAI. O GPT4o mini é um modelo pequeno e econômico que ainda fornece respostas de alta qualidade para tarefas de modelagem de ameaças.
-
Gemini 1.5 Pro (estável): Os usuários agora podem escolher entre as versões estável ou de pré-visualização do modelo Gemini 1.5 Pro.
Version 0.8
Release highlights:
- Pontuação de risco DREAD: O STRIDE GPT agora suporta pontuação de risco DREAD, permitindo que os usuários atribuam pontuações de risco às ameaças identificadas com base no modelo DREAD. Esse recurso fornece uma avaliação de ameaças mais abrangente e ajuda a priorizar os esforços de mitigação.
- Casos de teste Gherkin: Os usuários agora podem gerar casos de teste Gherkin com base nas ameaças identificadas. Esse recurso ajuda a preencher a lacuna entre modelagem de ameaças e testes, garantindo que as considerações de segurança sejam integradas ao processo de teste.
- Melhorias na interface do usuário: Atualizei a interface do usuário para facilitar a navegação e interação com o aplicativo e seus recursos.
Version 0.7
Release highlights:
- Modelagem de ameaças multimodal: O STRIDE GPT agora suporta modelagem de ameaças multimodal usando os modelos GPT-4o e GPT-4-Turbo da OpenAI. Os usuários podem fornecer uma imagem de um diagrama de arquitetura, fluxograma ou outras representações visuais de sua aplicação para aprimorar o processo de modelagem de ameaças.
- Integração Google AI: Adicionei suporte para Gemini 1.5 Pro via API Google AI. Observe que o Gemini não gera saída JSON de forma consistente, então pode ser necessário tentar novamente algumas solicitações. Além disso, Árvores de Ataque não podem ser geradas usando modelos Google AI devido às restrições de segurança do Google.
- Base de código refatorada: Refatorei algumas partes da base de código para melhorar a manutenibilidade e legibilidade. Isso deve facilitar a adição de novos recursos e melhorias em versões futuras.
- Correções de bugs: Pequenas correções de bugs e melhorias no tratamento de erros.
Version 0.6
Release highlights:
- Integração com API Mistral: Os usuários agora podem escolher usar LLMs fornecidos pela Mistral AI para gerar modelos de ameaças, árvores de ataque e sugestões de mitigação. Isso oferece uma alternativa aos modelos GPT da OpenAI, proporcionando maior flexibilidade e escolha para os usuários.
- Prompts refinados: Com mais pessoas usando o STRIDE GPT para trabalho, atualizei os templates de prompts do modelo de ameaças para incentivar os LLMs a gerar saídas mais abrangentes. Os usuários agora devem ver múltiplas ameaças identificadas em cada categoria STRIDE.
- Roteiro público: Criei um roteiro público para fornecer visibilidade sobre os próximos recursos e melhorias.
- Melhorias na interface do usuário: Fiz algumas pequenas atualizações na interface para acomodar a nova integração com a API Mistral e melhorar a experiência geral do usuário.
Version 0.5
Release highlights:
- Imagem de contêiner Docker: Para facilitar a implantação do STRIDE GPT em nuvens públicas e privadas, a ferramenta agora está disponível como uma imagem de contêiner Docker no Docker Hub.
Version 0.4
Release highlights:
- Integração de novos modelos GPT: O aplicativo agora suporta os modelos mais recentes "gpt-4-1106-preview" e "gpt-3.5-turbo-1106", oferecendo capacidades avançadas e respostas mais precisas para modelagem de ameaças e geração de árvores de ataque.
- Chamadas diretas à API OpenAI: O STRIDE GPT agora faz chamadas diretas à API OpenAI para aproveitar o recentemente introduzido Modo JSON. Isso deve reduzir bastante a probabilidade de erros de sintaxe ao gerar modelos de ameaças.
- Geração refinada de árvores de ataque: O processo de geração de árvores de ataque foi reformulado para ser mais confiável, minimizando erros de sintaxe ao gerar diagramas Mermaid e melhorando a qualidade geral das visualizações.
- Novo logotipo e esquema de cores: Um esquema de cores renovado e novo logotipo (gerado por DALL·E 3).
- Correções contínuas de bugs e melhorias de desempenho: Fiz um pequeno número de atualizações adicionais para corrigir bugs existentes e otimizar o aplicativo para melhor desempenho, garantindo uma experiência de usuário mais suave e eficiente.
Version 0.3
Release highlights:
- Mitigações de ameaças: O STRIDE GPT agora pode sugerir mitigações potenciais para as ameaças identificadas na fase de modelagem de ameaças. Isso ajuda os usuários a desenvolver estratégias para prevenir ou minimizar o impacto das ameaças identificadas.
- Saída para download: Os usuários agora podem baixar o modelo de ameaças, a árvore de ataque e as mitigações gerados como arquivos Markdown diretamente do aplicativo. Isso facilita o compartilhamento e a documentação das saídas geradas.
- Interface do usuário aprimorada: Refinei ainda mais a interface do usuário para proporcionar uma experiência de usuário mais suave e intuitiva. O layout do aplicativo foi otimizado para melhor legibilidade e usabilidade.
- Modelos GPT atualizados: O STRIDE GPT agora suporta as versões 0613 mais recentes dos modelos GPT-3.5-turbo e GPT-4. Esses modelos atualizados oferecem melhor desempenho e maior controle sobre a saída gerada.
- Correções de bugs e melhorias de desempenho: Corrigi vários bugs e fiz melhorias de desempenho para garantir um aplicativo mais estável e responsivo.
Version 0.2
Release highlights:
- Geração de árvore de ataque: Além de gerar modelos de ameaças, o STRIDE GPT agora pode gerar árvores de ataque para suas aplicações com base nos detalhes fornecidos. Isso ajuda os usuários a entender melhor os caminhos de ataque potenciais para suas aplicações.
- Visualização de árvore de ataque: Este é um recurso experimental que permite aos usuários visualizar a árvore de ataque gerada diretamente no aplicativo usando Mermaid.js. Isso proporciona uma experiência mais interativa dentro da interface do STRIDE GPT.
- Suporte ao modelo GPT-4: O STRIDE GPT agora suporta o uso do modelo GPT-4 da OpenAI, desde que o usuário tenha acesso à API GPT-4. Isso permite que os usuários aproveitem os avanços mais recentes da tecnologia GPT para gerar modelos de ameaças e árvores de ataque mais precisos e abrangentes.
- Layout e organização aprimorados: Reestruturei o layout do aplicativo para facilitar a navegação e o uso. Seções principais, como Modelo de Ameaças e Árvore de Ataque, agora estão organizadas em seções recolhíveis para uma experiência de usuário mais limpa e intuitiva.
Version 0.1
Lançamento inicial do aplicativo.
Instalação
Opção 1: pip (apenas CLI)```bash
pip install stride-gpt
This installs the `stride-gpt` command. The CLI and the Streamlit web UI are now distinct products — `pip install stride-gpt` gives you the lean CLI with no Streamlit footprint. To run the web UI from source, see Option 2 below.
### Opção 2: A partir do código-fonte
1. Clone o repositório:
```bash
git clone https://github.com/mrwadams/stride-gpt.git
cd stride-gpt
```
2. Instale com [uv](https://docs.astral.sh/uv/) (recomendado — `uv.lock` é a única fonte da verdade para dependências): ```bash
# CLI plus the Streamlit web UI deps
uv sync
Ou instale apenas a CLI com pip: ```bash pip install -e .
3. (Opcional) Configurar variáveis de ambiente: ```bash
cp .env.example .env
Edite .env para adicionar suas chaves de API — ou configure-as posteriormente executando stride-gpt e usando o comando /config no REPL interativo, ou através da interface Streamlit.
Opção 3: Docker (interface web)
A interface web do Streamlit é fornecida como uma imagem Docker:```bash docker pull mrwadams/stridegpt:latest
Para a CLI, use `pip install stride-gpt` — não há uma imagem CLI separada. Se precisar de uma CLI em sandbox, crie a sua própria a partir de uma imagem base Python mínima.
## Layout do repositório
O STRIDE-GPT está organizado como um pequeno monorepo: uma biblioteca Python compartilhada, um ou mais aplicativos que a consomem.```
stride-gpt/
├── stride_gpt/ # shared library + Python CLI (core, agent loop, prompts, schemas, models)
├── apps/
│ └── web/ # Streamlit web UI
├── tests/ # pytest suite
└── pyproject.toml # single project file; web UI deps live in the `web` dependency-group
O diretório apps/ é o local para frontends adicionais implantáveis — por exemplo, um futuro CLI Node/TypeScript ficaria junto com apps/web/. O próprio CLI Python permanece em stride_gpt/cli.py porque está fortemente acoplado à biblioteca compartilhada.
Uso
CLI
Análise agentiva de base de código — o agente explora autonomamente uma base de código, planeja sua análise e produz um modelo de ameaças STRIDE:```bash
Analyze the current directory
stride-gpt analyze .
Specify a model and auto-approve the analysis plan
stride-gpt analyze ./my-app --worker-model anthropic/claude-sonnet-4-6 -y
Export as JSON, SARIF, or browser-viewable HTML
stride-gpt analyze . -o report.json -f json # also writes report.html alongside stride-gpt analyze . -o report.sarif -f sarif stride-gpt analyze . -o report.html -f html
> Toda análise também salva automaticamente um arquivo JSON e um HTML complementar em `~/.stride-gpt/reports/analyze/`, para que a visualização no navegador esteja sempre a um clique de distância, mesmo quando você executa sem `-o`.
> **Nota sobre custo:** A análise agentiva é minuciosa — o agente faz muitas chamadas LLM e lê muitos arquivos enquanto explora. O uso de tokens e o custo aumentam com o tamanho da base de código e o modelo escolhido, e uma execução completa em um repositório grande com um modelo de ponta pode ser cara. Defina limites de gastos no painel do seu provedor antes de executar e considere modelos mais rápidos/baratos para as primeiras passagens.
**Modo rápido de disparo único** — gere um modelo de ameaças a partir de uma descrição em texto (como na interface Streamlit, mas no terminal):```bash
# Read description from a file
stride-gpt quick -i app-description.txt
# Pipe from stdin
echo "A web API that processes payments..." | stride-gpt quick
REPL Interativo — inicia uma sessão interativa com conclusão por tab e histórico:```bash stride-gpt
Dentro do REPL, digite `/help` para ver os comandos e flags disponíveis. A versão é mostrada abaixo do banner ASCII na inicialização. Veja a [folha de dicas do REPL interativo](#folha-de-dicas-do-repl-interativo) abaixo para a referência completa de comandos e atalhos.
#### Folha de dicas do REPL interativo
Inicie o REPL com `stride-gpt` (sem argumentos) e use estes comandos e atalhos.
**Comandos** — digite um comando com barra no prompt:
| Comando | O que faz |
|---------|-----------|
| `/analyze [path]` | Analisa uma base de código para ameaças STRIDE (um caminho de diretório simples também funciona) |
| `/quick` | Modelo de ameaça rápido a partir de uma descrição textual |
| `/reports` | Lista relatórios de análise anteriores (`/reports <n>` exibe um) |
| `/config` | Visualiza ou altera configurações (modelo, provedor, chaves de API) |
| `/help` | Mostra comandos, flags e exemplos disponíveis |
| `/quit` | Sai (aliases: `/exit`, `/q`) |
`/analyze`, `/quick` e `/reports` aceitam flags: `-o`/`--output <caminho>`, `-f`/`--format <markdown\|json\|sarif\|html>`, `-y`/`--yes` e `-i`/`--input <caminho>` (`/quick`). Digite `/help` para a lista completa.
**Atalhos de teclado:**
| Tecla | Ação |
|-------|------|
| `Tab` | Completa comandos com barra e caminhos de arquivo |
| `↑` / `↓` | Percorre o histórico de comandos |
| `→` / `End` | Aceita a sugestão de histórico esmaecida |
| `Ctrl+L` | Limpa a tela e o histórico de rolagem |
| `Ctrl+C` / `Ctrl+D` | Sai do REPL |
**Verifique a versão instalada:**```bash
stride-gpt --version # prints e.g. "stride-gpt 0.19.0" and exits
Flags comuns:
| Flag | Descrição |
|---|---|
--version | Exibe a versão instalada (stride-gpt <version>) e sai |
-o, --output | Salva o relatório em um arquivo |
-f, --format | Formato de saída: markdown (padrão), json, sarif, html |
-i, --input | Lê a descrição do aplicativo de um arquivo (apenas quick) |
-y, --yes | Aprova automaticamente o plano de análise (apenas analyze) |
--worker-model | Modelo de nível padrão que lida com a maioria das chamadas (ex.: anthropic/claude-sonnet-4-6). Usa a configuração salva se omitido. |
--architect-model | Modelo mais forte para planejamento/síntese (ex.: openai/gpt-5.4). Usa a configuração salva se omitido. |
--no-architect | Ignora o nível de arquiteto nesta execução; o worker lida com todas as chamadas. |
--app-type | Substitui o tipo de aplicativo detectado pelo planejador (apenas analyze): auto (padrão), web, genai, agentic. |
--max-llm-calls | Limita o total de chamadas LLM em ambos os níveis (apenas analyze; 0 = ilimitado). |
--max-tool-calls | Limita o total de execuções de ferramentas (apenas analyze; 0 = ilimitado). |
Cada nível também aceita --worker-api-key / --worker-api-base / --worker-max-tokens (e os equivalentes --architect-*). Execute stride-gpt analyze --help ou stride-gpt quick --help para a lista completa.
Intermediários estruturados — quando -o <path> é usado, três arquivos JSON irmãos são escritos junto com o relatório para que a execução possa ser auditada ou consumida por ferramentas downstream:
| Arquivo | Conteúdo |
|---|---|
<stem>.plan.json | O AnalysisPlan que o arquiteto produziu — subsistemas, áreas de foco, tipo de aplicativo detectado (apenas analyze). |
<stem>.findings.json | Lista SubsystemFinding por subsistema, ameaças transversais e diagrama de fluxo de dados em nível de sistema (apenas analyze). |
<stem>.run.json | Um RunManifest — modelos, hash de prompt + configuração, referências ao agente realmente carregado, git SHA, versão, tempo. Emitido tanto para analyze quanto para quick. |
A flag de formato (-f) controla apenas o artefato do relatório; os irmãos são sempre JSON. Os caminhos de arquivo no manifesto e nos findings são ocultados (./… quando no diretório de trabalho, ~/… quando em $HOME) para que um manifesto seja seguro para compartilhar. O auto-arquivo em ~/.stride-gpt/reports/{analyze,quick}/ não é afetado — os irmãos são emitidos apenas quando você passa -o.
Visualizar relatórios anteriores:```bash stride-gpt reports # List recent reports stride-gpt reports 1 # View report #1 stride-gpt reports 1 -o r.json -f json # Export a report
### Interface Web do Streamlit
A interface web é um aplicativo separado da CLI. Inicie-o com:```bash
streamlit run apps/web/main.py
Abra o URL fornecido no seu navegador e siga as etapas na tela.
Docker```bash
docker run -p 8501:8501 --env-file .env mrwadams/stridegpt
## Exemplo de saída
Toda execução de `stride-gpt analyze` e `stride-gpt quick` gera um relatório em markdown por padrão (com JSON, SARIF e uma visualização HTML autocontida disponíveis via `-f`). O markdown agrupa ameaças por subsistema em tabelas STRIDE, adiciona uma seção transversal para ameaças que abrangem componentes e termina com um resumo da execução. Colunas opcionais (OWASP LLM/ASI, Insider Category, MITRE ATT&CK) aparecem apenas quando uma execução as preenche.
Abaixo está o markdown de uma execução contra uma API de pagamentos fictícia, para que você possa ver a forma da saída antes de executar a ferramenta. É uma renderização real do mecanismo de relatório, não um rascunho.
<details>
<summary>Exemplo de modelo de ameaças em markdown (clique para expandir)</summary>````markdown
# STRIDE Threat Model: acme-payments-api
> Generated by STRIDE-GPT on 2026-07-16T09:42:00Z
## Overview
A Python FastAPI service that accepts card payments, stores customer profiles in PostgreSQL, and calls a third-party payment processor. Authentication is handled by JWT bearer tokens issued by an internal auth service; the API is internet-facing behind an API gateway.
## Data Flow Diagram
```mermaid
flowchart LR
Client[Client App] -->|HTTPS + JWT| Gateway[API Gateway]
Gateway --> API[Payments API]
API -->|SQL| DB[(PostgreSQL)]
API -->|HTTPS| Processor[Payment Processor]
Authentication & Authorization
Files Analyzed
app/auth/jwt.pyapp/auth/dependencies.py
Threats
| Threat Type | Scenario | Potential Impact | MITRE ATT&CK |
|---|---|---|---|
| Spoofing | An attacker forges a JWT using a weak or leaked signing secret to impersonate another customer. | Full account takeover and unauthorized access to stored payment methods. | T1550.001 (Application Access Token) |
| Elevation of Privilege | A standard user calls an admin-only refund endpoint that only checks authentication, not role. | Unauthorized refunds and financial loss. | T1068 (Exploitation for Privilege Escalation) |
Recommendations
- Enforce role checks on every privileged route via a shared dependency, not per-handler logic.
- Rotate and store the JWT signing secret in a managed secrets store rather than an env file.
Payments & Data Storage
Files Analyzed
app/payments/routes.pyapp/db/models.py
Threats
| Threat Type | Scenario | Potential Impact | MITRE ATT&CK |
|---|---|---|---|
| Information Disclosure | Full card numbers are logged in request debug logs when a payment fails. | PCI-DSS violation and exposure of cardholder data to anyone with log access. | T1552.001 (Credentials In Files) |
| Tampering | The payment amount is taken from a client-supplied field and not re-validated server-side against the order. | A user pays less than the order total by editing the request body. |
Recommendations
- Redact PANs before logging and route logs through a PCI-scoped sink.
- Derive the charge amount from the server-side order record, never the request body.
Cross-Cutting Threats
| Threat Type | Scenario | Potential Impact | MITRE ATT&CK | Affected Subsystems |
|---|---|---|---|---|
| Denial of Service | No rate limiting on the payment endpoint lets an attacker exhaust the processor quota and DB connections. | Legitimate payments fail during the attack; possible processor throttling. | T1499 (Endpoint Denial of Service) | Authentication & Authorization, Payments & Data Storage |
Summary
- Total threats identified: 5
- Subsystems analyzed: 2
- Cross-cutting threats: 1
- LLM calls: 34
- Tool calls: 58
- Architect model: OpenAI API/gpt-5.4
- Worker model: Anthropic API/claude-sonnet-4-6
</details>
`stride-gpt quick` produz a mesma forma de tabela a partir de uma descrição escrita, colapsada em um único subsistema **Application** em vez de resultados por subsistema.
## Melhores Práticas de Segurança
O STRIDE GPT foi projetado para implantação local e de usuário único. Ao usar a ferramenta:
### Protegendo suas Chaves de API
**Suas chaves de API são credenciais sensíveis que podem gerar cobranças na sua conta.**
✅ **FAÇA:**
- Insira as chaves de API através da interface (elas ficam na sua sessão do navegador)
- Use o arquivo .env para conveniência na sua máquina pessoal
- Defina limites de gastos no painel do seu provedor de LLM
- Revise regularmente o uso e os custos da API
- Limpe a sessão ao usar em computadores compartilhados
❌ **NÃO FAÇA:**
- Envie arquivos .env para o controle de versão (já está no .gitignore)
- Compartilhe capturas de tela com chaves de API visíveis
- Execute o STRIDE GPT em sistemas não confiáveis ou comprometidos
- Compartilhe suas chaves de API com outras pessoas
- Ignore cobranças inesperadas de API
### Considerações sobre Privacidade de Dados
Ao gerar modelos de ameaças, o STRIDE GPT envia dados para o provedor de LLM escolhido:
- Detalhes da aplicação (tipo, métodos de autenticação, arquitetura)
- Descrições da arquitetura do sistema
- Diagramas/imagens de arquitetura enviados
- Modelos de ameaças e mitigações gerados
**O que isso significa:**
- OpenAI, Anthropic, Google, etc. podem registrar esses dados conforme suas políticas de privacidade
- Considere usar detalhes genéricos/fictícios do sistema para demonstrações
- Revise as políticas de retenção de dados e privacidade do seu provedor de LLM
- Para sistemas sensíveis, considere:
- Usar modelos locais (LM Studio)
- Usar provedores com garantias de privacidade mais rigorosas
- Anonimizar as descrições do sistema antes da entrada
### Para Implantações em Equipe/Organização
Se implantar o STRIDE GPT para múltiplos usuários (não é o caso de uso padrão):
- Adicione autenticação/autorização (não incluído por padrão)
- Use um serviço de gerenciamento de segredos para as chaves de API
- Implante atrás de VPN ou rede interna
- Revise o documento [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/master/SECURITY.md) para considerações adicionais
- Considere requisitos de residência de dados e conformidade
- Implemente controles de acesso apropriados para os modelos de ameaças gerados
### Segurança de Dependências
Mantemos as dependências e monitoramos vulnerabilidades:
- As dependências são atualizadas regularmente via Dependabot
- A varredura de segurança automatizada é executada em cada commit
- Avisos de segurança são rastreados na aba Segurança do GitHub
- Execute `pip-audit` para verificar vulnerabilidades conhecidas localmente
Consulte [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/master/SECURITY.md) para informações abrangentes de segurança, incluindo varredura de segurança automatizada, relatório de vulnerabilidades e práticas de desenvolvimento seguro.
### Relatando Problemas de Segurança
Encontrou um problema de segurança? Por favor, relate-o de forma responsável:
- Crie um aviso de segurança através do [relatório de vulnerabilidade privada](https://github.com/mrwadams/stride-gpt/security/advisories/new) do GitHub
- Não publique problemas de segurança publicamente
- Reconheceremos em até 48 horas
- As correções serão priorizadas e lançadas rapidamente
## Contribuindo
Pull requests são bem-vindos. Para mudanças importantes, por favor abra primeiro uma issue para discutir o que você gostaria de alterar.
## Licença
[MIT](https://choosealicense.com/licenses/mit/)
