Presença
Registro de presença na sessão com o código informado pelo instrutor.
coleta fechada
Híbrido · 20 h · 04/01/2027 a 08/01/2027 · Instrutor: Gustavo Costa
| Sessão | Data | Horário | Módulos |
|---|---|---|---|
| s1 | 04/01/2027 | 09:00–13:00 | Fundamentos de pipelines GitLab CI/CD |
| s2 | 05/01/2027 | 09:00–13:00 | Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC; Gestão de vulnerabilidades e de dependências |
| s3 | 06/01/2027 | 09:00–13:00 | Testes dinâmicos: DAST e API security testing; Políticas de segurança: varredura, aprovação de MR, execução de pipeline e gestão de vulnerabilidades |
| s4 | 07/01/2027 | 09:00–13:00 | Compliance e auditoria: frameworks, compliance center, eventos de auditoria e evidências; Identidade, tokens e segredos em CI/CD |
| oficina | 08/01/2027 | 09:00–13:00 | Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC; Políticas de segurança: varredura, aprovação de MR, execução de pipeline e gestão de vulnerabilidades |
Registro de presença na sessão com o código informado pelo instrutor.
coleta fechada
Questionário antes do primeiro módulo (mede o conhecimento inicial).
coleta fechada
O mesmo questionário ao final da turma (mede a evolução).
coleta fechada
Pesquisa anônima sobre a turma, o instrutor e os laboratórios.
coleta fechada
Pré-requisitos: repositorio-git
| Tópico | Tier | Fonte |
|---|---|---|
| Estrutura do .gitlab-ci.yml: palavras-chave globais (default, include, stages, variables, workflow) e de job | Free | documentação |
| Stages padrão (.pre, build, test, deploy, .post); job sem stage vai para test | Free | documentação |
| Jobs, script, before_script, after_script, image, jobs ocultos iniciados por ponto | Free | documentação |
| when (on_success padrão, on_failure, always, manual, delayed, never) e allow_failure | Free | documentação |
| Pipeline editor e validação de configuração (CI Lint) | Free | documentação |
| Tipos e estados de pipeline | Free | documentação |
Pré-requisitos: Fundamentos de pipelines GitLab CI/CD
| Tópico | Tier | Fonte |
|---|---|---|
| SAST com analisadores open source, relatório JSON; exige stage test e runner Linux com executor Docker ou Kubernetes | Free | documentação |
| GitLab Advanced SAST e resultados de SAST no merge request | Ultimate | documentação |
| Detecção de segredos no pipeline (template Jobs/Secret-Detection.gitlab-ci.yml) | Free | documentação |
| Secret push protection (GA 17.5): bloqueio do push, [skip secret push protection], push option secret_push_protection.skip_all, evento de auditoria | Ultimate | documentação |
| Dependency scanning por SBOM CycloneDX (GA 19.0; template Jobs/Dependency-Scanning.v2.gitlab-ci.yml); Gemnasium depreciado em 17.9 | Ultimate | documentação |
| Container scanning com Trivy (template Jobs/Container-Scanning.gitlab-ci.yml, variável CS_IMAGE) | Free | documentação |
| Varredura de IaC com KICS (template Jobs/SAST-IaC.gitlab-ci.yml) | Free | documentação |
Pré-requisitos: Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC
| Tópico | Tier | Fonte |
|---|---|---|
| Vulnerability report e security dashboard | Ultimate | documentação |
| Severidades: Critical, High, Medium, Low, Info, Unknown | Ultimate | documentação |
| Status Needs triage, Confirmed, Dismissed, Resolved; reintrodução retorna a Needs triage | Ultimate | documentação |
| Motivos de dismiss (Acceptable risk, False positive, Mitigating control, Used in tests, Not applicable) com comentário obrigatório | Ultimate | documentação |
| Lista de dependências (SBOM CycloneDX 1.4, 1.5 ou 1.6); exportação JSON e CSV | Ultimate | documentação |
Pré-requisitos: Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC
| Tópico | Tier | Fonte |
|---|---|---|
| DAST baseado em navegador; analisador proxy removido em 17.3; template Security/DAST.gitlab-ci.yml (DAST_VERSION 6 desde 18.0) | Ultimate | documentação |
| Stage dast, DAST_TARGET_URL ou arquivo environment_url.txt | Ultimate | documentação |
| Varredura passiva habilitada por padrão; varredura ativa desabilitada por padrão | Ultimate | documentação |
| Varreduras DAST sob demanda e perfis | Ultimate | documentação |
| API security testing: REST, SOAP, GraphQL; OpenAPI v2/v3, schema GraphQL, HAR, Postman Collection v2.0/v2.1; execução apenas contra servidor de teste | Ultimate | documentação |
Pré-requisitos: Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC
| Tópico | Tier | Fonte |
|---|---|---|
| Tipos de política: scan execution, merge request approval, pipeline execution, scheduled pipeline execution e vulnerability management | Ultimate | documentação |
| Security policy project (.gitlab/security-policies/policy.yml) e policy_scope | Ultimate | documentação |
| Scan execution policy: até 5 regras por política, 5 políticas por policy project, até 10 ações; sufixo numérico no nome dos jobs injetados | Ultimate | documentação |
| Merge request approval policy: regras scan_finding, license_finding e any_merge_request; severity_levels e vulnerabilities_allowed | Ultimate | documentação |
| Pipeline execution policy: inject_policy, override_project_ci (inject_ci depreciado); stages .pipeline-policy-pre e .pipeline-policy-post | Ultimate | documentação |
| Vulnerability management policy: resolução automática de vulnerabilidades não mais detectadas na branch padrão | Ultimate | documentação |
Pré-requisitos: plataforma-organizacao
| Tópico | Tier | Fonte |
|---|---|---|
| Compliance frameworks no grupo de nível superior; até 20 frameworks por projeto; framework padrão | Premium | documentação |
| Criação de framework a partir de template (GA 19.1) com requisitos e controles | Ultimate | documentação |
| Compliance center: overview, status, violations, frameworks e projects | Premium | documentação |
| Eventos de sign-in com sucesso (Authentication log do usuário) | Free | documentação |
| Eventos de auditoria de grupo e projeto; retenção sem prazo; filtro por período de até 30 dias | Premium | documentação |
| Streaming de eventos de auditoria para destinos HTTP e Google Cloud Logging | Ultimate | documentação |
| Separação de funções com configurações de aprovação (autor e committers) | Premium | documentação |
| Evidência de release (snapshot JSON gerado na criação da release) | Free | documentação |
| Coleta de evidência de release em outro momento, por API | Premium | documentação |
Pré-requisitos: Fundamentos de pipelines GitLab CI/CD
| Tópico | Tier | Fonte |
|---|---|---|
| Prefixos de token (glpat-, glrt-, glcbt-, gldt-, glptt-, glagent-, entre outros) | Free | documentação |
| Personal access tokens: expiração padrão de 365 dias e limite máximo configurável pelo administrador | Free | documentação |
| CI/CD job token e allowlist de projetos e grupos | Free | documentação |
| ID tokens (JWT) com id_tokens e claim aud | Free | documentação |
| Segredos do HashiCorp Vault em jobs (autenticação JWT com ID token) | Premium | documentação |
| GitLab Secrets Manager (beta público desde 19.0; disponibilidade limitada no GitLab.com desde 19.3; consome GitLab Credits) | Premium | documentação |
| Papéis customizados baseados em papel padrão | Ultimate | documentação |
Cada aluno recebe um subgrupo com os projetos dos exercícios; a correção é automática, pela API da plataforma GitLab.
| Exercício | Título | Objetivo | Tier | Duração |
|---|---|---|---|---|
| lab-ci-01 | Primeiro pipeline com stages e jobs | Criar .gitlab-ci.yml com build e teste e executar o pipeline em main. | Free | 45 min |
| lab-ci-02 | Diagnosticar pipeline quebrado | Corrigir erro de sintaxe YAML e erro de script sem remover testes. | Free | 40 min |
| lab-seg-01 | Habilitar SAST, detecção de segredos, container scanning e IaC scanning | Adicionar varreduras de segurança ao pipeline com os templates CI/CD. | Free | 50 min |
| lab-seg-02 | Secret push protection e dependency scanning por SBOM | Bloquear segredos no push e gerar SBOM com dependency scanning. | Ultimate | 35 min |
| lab-seg-03 | Triagem e correção de vulnerabilidades | Confirmar, descartar com motivo, abrir issue e corrigir vulnerabilidades do vulnerability report. | Ultimate | 45 min |
| lab-seg-05 | Scan execution policy e merge request approval policy | Impor detecção de segredos em todos os pipelines e exigir aprovação para novos achados críticos. | Ultimate | 50 min |
| lab-segredos-01 | CI/CD job token entre projetos e ID token | Autorizar acesso entre projetos pela allowlist do job token e declarar ID token com audiência. | Free | 45 min |