Este projeto é exclusivamente educacional e foi criado para demonstrar conceitos de segurança em APIs Python. Todos os aspectos de segurança implementados têm propósito de aprendizado.
Como este é um projeto educacional, não há versões "de produção" oficiais. No entanto, sempre recomendamos usar a versão mais recente do repositório para ter as implementações de segurança mais atualizadas.
| Versão | Suporte de Segurança |
|---|---|
| main (atual) | ✅ Implementações educacionais de segurança |
| branches de desenvolvimento |
- JWT (JSON Web Tokens) - Implementação educacional de autenticação stateless
- Bcrypt Password Hashing - Demonstração de hash seguro de senhas
- Role-based Access Control - Sistema básico de permissões (usuário/admin)
- Token Expiration - Conceitos de expiração de tokens
- Pydantic Models - Validação e sanitização de entrada
- SQL Injection Prevention - Uso de ORM para prevenir injeções
- Input Sanitization - Limpeza básica de dados de entrada
- Environment Variables - Separação de credenciais do código
- CORS Configuration - Controle de origem de requisições
- Database Connection Security - Conexões seguras com banco
Este projeto intencionalmente pode conter algumas vulnerabilidades para fins educacionais:
-
Configuração CORS Permissiva
allow_origins=["*"]está configurado para facilitar testes- Em produção: Sempre especifique origens permitidas
-
Validação de Token Simplificada
- Implementação básica para fins de aprendizado
- Em produção: Implemente refresh tokens e revogação
-
Logging de Informações Sensíveis
- Pode logar informações que não devem aparecer em logs
- Em produção: Implemente logging estruturado e seguro
-
Rate Limiting Ausente
- Não há limitação de taxa para demonstrar conceitos básicos
- Em produção: Sempre implemente rate limiting
Se você encontrar uma vulnerabilidade de segurança real (não intencional) neste projeto educacional, siga estes passos:
- Vulnerabilidades reais podem ser exploradas por outros
- Use canais privados para relatar
Assunto: [SECURITY] Vulnerabilidade encontrada no Spotify Downloader API
Descrição:
- Tipo de vulnerabilidade
- Passos para reproduzir
- Impacto potencial
- Sugestão de correção (se houver)
Contexto:
- Ambiente de teste usado
- Versão do projeto
- Configuração específica
- Descrição detalhada da vulnerabilidade
- Proof of concept (se seguro de compartilhar)
- Impacto estimado
- Versão afetada
- Ambiente de teste
- Este projeto é apenas para aprendizado de conceitos de segurança
- NÃO use em produção sem revisão completa de segurança
- NÃO use para atividades ilegais ou violação de termos de serviço
- Usuários são responsáveis por usar o conhecimento adquirido de forma ética
Os mantenedores deste projeto educacional:
- NÃO se responsabilizam por uso inadequado do código
- NÃO garantem segurança para uso em produção
- NÃO oferecem suporte para implementações não educacionais
- NÃO assumem responsabilidade por danos decorrentes do uso