FAG capture the flag 2.0 — Shift Left Security
Bem-vindo ao laboratório prático de Segurança no Ciclo de Vida de Software (DevSecOps). O objetivo desta atividade é permitir que você explore vulnerabilidades propositais em um ambiente controlado e compreenda como ferramentas automatizadas de análise de segurança identificam e bloqueiam tais falhas antes que cheguem a produção.
Conceitos Fundamentais
É a prática de integrar verificações e testes de segurança nas fases iniciais do desenvolvimento (à "esquerda" da linha do tempo do projeto), prevenindo vulnerabilidades em vez de remediá-las após o deploy.
Análise de código-fonte em repouso sem execução da aplicação (ex: Bandit para Python). Detecta padrões inseguros como injeção de SQL e uso de funções perigosas.
Análise de segurança em tempo de execução operando como um atacante externo (ex: OWASP ZAP). Identifica falhas como Cross-Site Scripting (XSS) e cabeçalhos ausentes.
Mapeamento e verificação de dependências de terceiros (ex: Trivy) contra bancos públicos de CVEs (Common Vulnerabilities and Exposures).
Detecção automatizada de chaves de API, credenciais e tokens expostos em commits ou arquivos de código (ex: Gitleaks).
Verificação de boas práticas em configurações de infraestrutura e imagens Docker (ex: Hadolint), prevenindo execução com usuário root e imagens desatualizadas.
Tabela de Pontuação (Nota Final: 10.0)
| Desafio | Tipo | Vulnerabilidade / Objetivo | Pontos |
|---|---|---|---|
| C1 | Ofensivo | Injeção de SQL na consulta de alunos (Dump da flag) | 1.5 |
| C2 | Ofensivo | Reflected XSS em /pesquisa (Roubo de cookie do Bot Admin) | 1.5 |
| C3 | Ofensivo | Credencial exposta em arquivo estático / backup | 1.5 |
| C4 | Ofensivo | Identificação de versão vulnerável de biblioteca (SCA) | 1.0 |
| C5 | Ofensivo | Path Traversal no download de arquivos internos | 1.5 |
| C6 | Ofensivo | Interpretação e reconhecimento de relatórios de linters | 1.0 |
| C7 | Defensivo | Remediação completa do código e aprovação em sandbox (SAST/SCA/IaC) | 2.0 |
Regras de Conduta & Transparência LGPD
- Escopo Permitido: Apenas a aplicação alvo do Lab (
https://ctf.jglabs.com.br/lab) pode ser atacada. Ataques contra o Scoreboard, Gateway ou negação de serviço (DoS/DDoS) implicam desclassificação imediata. - Individualidade: Cada estudante possui flags HMAC exclusivas. O sistema detecta envios cruzados e registra alertas de compartilhamento indevido.
- Auditoria Total (LGPD): Todas as requisições, payloads enviados, submissões de flags e tentativas de login são registrados com carimbo de tempo, IP e identificador para fins de avaliação pedagógica.
- Prazo: O ambiente ficará disponível por exatamente 21 dias contados a partir da data de deploy inicial.