Este projeto foi criado especialmente para ensinar conceitos de segurança no desenvolvimento de software através da prática.
Este projeto contém vulnerabilidades de segurança INTENCIONAIS para fins educacionais.
🚨 NÃO USE ESTE CÓDIGO EM PRODUÇÃO! 🚨
O objetivo é aprender a identificar e corrigir vulnerabilidades através de ferramentas automatizadas e boas práticas de desenvolvimento seguro.
Este é um sistema simples de gerenciamento de usuários com:
- Backend: Java 21 com Spring Boot
- Frontend: Vue.js 3
- Pipeline CI/CD: GitHub Actions com ferramentas de segurança
- Identificar vulnerabilidades de código (SAST)
- Identificar vulnerabilidades em dependências (SCA)
- Detectar secrets e credenciais hardcoded
- Implementar correções de segurança
- Configurar pipeline de segurança automatizada
- Java 21 (JDK)
- Maven 3.8+
- Node.js 18+
- Git
- IDE (IntelliJ IDEA, VS Code, Eclipse, etc.)
- Clone o repositório
git clone <url-do-repositorio>
cd ssdlc-mackenzie- Configure o Backend
cd backend
mvn clean install
mvn spring-boot:runO backend estará disponível em: http://localhost:8080
- Configure o Frontend
cd frontend
npm install
npm run serveO frontend estará disponível em: http://localhost:8081
Detecta credenciais e secrets hardcoded no código.
Identifica vulnerabilidades conhecidas em bibliotecas Java.
Verifica vulnerabilidades em pacotes Node.js.
Detecta bugs e vulnerabilidades no código Java.
Verifica vulnerabilidades das aplicações durante sua execução.
Verifica o compliance das bibliotecas utilizadas no sistema.
O projeto inclui uma pipeline do GitHub Actions que executa automaticamente:
- ✅ Secret Scanning
- ✅ OWASP Dependency Check (Backend)
- ✅ CodeQL (Backend/Frontend)
- ✅ npm audit (Frontend)
- ✅ OWASP Zap (Backend/Frontend)
A pipeline é executada automaticamente a cada push/PR na branche main.
- Acesse a aba "Actions" no GitHub
- Clique na execução mais recente
- Verifique cada job e baixe os relatórios gerados
Este projeto contém exemplos de:
- 🔴 SQL Injection
- 🔴 Credenciais hardcoded
- 🔴 Logs de dados sensíveis
- 🔴 Exposição de informações sensíveis
- 🔴 Falta de validação de entrada
- 🔴 CORS mal configurado
- 🔴 Cross-Site Scripting (XSS)
- 🔴 Secrets hardcoded no código
- 🔴 Falta de sanitização de entrada
- 🔴 Exposição de dados sensíveis
- 🔴 Dependências vulneráveis
- Criar uma pipeline no GitHub Actions com as ferramentas acima
- Documente quantas vulnerabilidades foram encontradas
- Classifique por severidade (Crítica, Alta, Média, Baixa)
- Para cada vulnerabilidade encontrada:
- Identifique o arquivo e linha
- Entenda o risco de segurança
- Pesquise sobre o tipo de vulnerabilidade
- Corrija as vulnerabilidades seguindo as orientações
- Execute novamente as ferramentas para validar
- Commit das correções
Este projeto é para fins educacionais apenas. Use por sua conta e risco.
Durante a oficina, não hesite em pedir ajuda aos instrutores!
Desenvolvido para a Oficina de SSDLC - Universidade Presbiteriana Mackenzie