Esta é a aplicação de laboratório usada em todos os encontros práticos da disciplina. É um gerenciador de tarefas (to-do list) simples em Python/Flask, propositalmente vulnerável, que evolui ao longo do curso
Este código contém vulnerabilidades intencionais para fins didáticos
(ver comentários # FALHA e docstring no topo de app.py). Nunca:
- Use este código como referência de boas práticas.
- Implante esta aplicação em ambiente de produção ou exposto à internet.
- Reutilize o padrão de código (concatenação de SQL, senhas em texto puro, segredo hardcoded) em projetos reais.
cd app-exemplo
python3 -m venv .venv
source .venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python app.pyA aplicação sobe em http://localhost:5000. Usuários de teste já vêm
cadastrados no banco SQLite (taskflow.db, criado automaticamente):
| Usuário | Senha |
|---|---|
| admin | admin123 |
| aluno | senha123 |
cd app-exemplo
docker build -t taskflow:vuln .
docker run -p 5000:5000 taskflow:vulnapp-exemplo/
├── app.py # Aplicação Flask (versão vulnerável, linha de base)
├── requirements.txt # Dependências com CVEs conhecidas (uso proposital)
├── Dockerfile # Dockerfile inseguro (uso no Módulo 2 - Hardening)
└── README.md # Este arquivo
Cada módulo cria, dentro da sua própria pasta codigo/, uma cópia ou um
patch desta aplicação demonstrando o "antes" (vulnerável) e o "depois"
(corrigido) referente ao tema daquele encontro.
Teste PR parte - 2