Pointer
ALESP
Turma seguranca-t1

Segurança da Informação — práticas DevSecOps, SAST, DAST, compliance e rastreabilidade

Híbrido · 20 h · 04/01/2027 a 08/01/2027 · Instrutor: Gustavo Costa

← Todas as turmas

Agenda

SessãoDataHorárioMódulos
s104/01/202709:00–13:00Fundamentos de pipelines GitLab CI/CD
s205/01/202709:00–13:00Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC; Gestão de vulnerabilidades e de dependências
s306/01/202709:00–13:00Testes 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
s407/01/202709:00–13:00Compliance e auditoria: frameworks, compliance center, eventos de auditoria e evidências; Identidade, tokens e segredos em CI/CD
oficina08/01/202709:00–13:00Varreduras 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

Formulários

Presença

Registro de presença na sessão com o código informado pelo instrutor.

coleta fechada

Responder

Avaliação pré

Questionário antes do primeiro módulo (mede o conhecimento inicial).

coleta fechada

Responder

Avaliação pós

O mesmo questionário ao final da turma (mede a evolução).

coleta fechada

Responder

Satisfação

Pesquisa anônima sobre a turma, o instrutor e os laboratórios.

coleta fechada

Responder

Módulos

Fundamentos de pipelines GitLab CI/CD · Básico · 3 h

Objetivos

  • Criar um arquivo .gitlab-ci.yml com stages e jobs e validá-lo no pipeline editor.
  • Executar um pipeline e interpretar o log e o status de cada job.
  • Configurar execução condicional básica com when e allow_failure.
  • Diagnosticar falhas de sintaxe e de script em pipelines.

Pré-requisitos: repositorio-git

Conteúdo

TópicoTierFonte
Estrutura do .gitlab-ci.yml: palavras-chave globais (default, include, stages, variables, workflow) e de jobFreedocumentação
Stages padrão (.pre, build, test, deploy, .post); job sem stage vai para testFreedocumentação
Jobs, script, before_script, after_script, image, jobs ocultos iniciados por pontoFreedocumentação
when (on_success padrão, on_failure, always, manual, delayed, never) e allow_failureFreedocumentação
Pipeline editor e validação de configuração (CI Lint)Freedocumentação
Tipos e estados de pipelineFreedocumentação
Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC · Intermediário · 3 h

Objetivos

  • Habilitar SAST, detecção de segredos no pipeline, varredura de contêiner e de IaC com templates CI/CD.
  • Habilitar secret push protection e identificar as formas de ignorá-la e o registro em auditoria.
  • Habilitar dependency scanning por SBOM.
  • Identificar os resultados de varredura disponíveis por tier.

Pré-requisitos: Fundamentos de pipelines GitLab CI/CD

Conteúdo

TópicoTierFonte
SAST com analisadores open source, relatório JSON; exige stage test e runner Linux com executor Docker ou KubernetesFreedocumentação
GitLab Advanced SAST e resultados de SAST no merge requestUltimatedocumentação
Detecção de segredos no pipeline (template Jobs/Secret-Detection.gitlab-ci.yml)Freedocumentação
Secret push protection (GA 17.5): bloqueio do push, [skip secret push protection], push option secret_push_protection.skip_all, evento de auditoriaUltimatedocumentação
Dependency scanning por SBOM CycloneDX (GA 19.0; template Jobs/Dependency-Scanning.v2.gitlab-ci.yml); Gemnasium depreciado em 17.9Ultimatedocumentação
Container scanning com Trivy (template Jobs/Container-Scanning.gitlab-ci.yml, variável CS_IMAGE)Freedocumentação
Varredura de IaC com KICS (template Jobs/SAST-IaC.gitlab-ci.yml)Freedocumentação
Gestão de vulnerabilidades e de dependências · Intermediário · 2 h

Objetivos

  • Triar vulnerabilidades no vulnerability report alterando status e registrando motivo de dismiss.
  • Criar issue a partir de uma vulnerabilidade e corrigi-la por merge request.
  • Interpretar níveis de severidade e o ciclo de vida de uma vulnerabilidade.
  • Exportar a lista de dependências (SBOM).

Pré-requisitos: Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC

Conteúdo

TópicoTierFonte
Vulnerability report e security dashboardUltimatedocumentação
Severidades: Critical, High, Medium, Low, Info, UnknownUltimatedocumentação
Status Needs triage, Confirmed, Dismissed, Resolved; reintrodução retorna a Needs triageUltimatedocumentação
Motivos de dismiss (Acceptable risk, False positive, Mitigating control, Used in tests, Not applicable) com comentário obrigatórioUltimatedocumentação
Lista de dependências (SBOM CycloneDX 1.4, 1.5 ou 1.6); exportação JSON e CSVUltimatedocumentação
Testes dinâmicos: DAST e API security testing · Avançado · 2 h

Objetivos

  • Configurar job DAST com o template CI/CD e a URL de destino.
  • Distinguir varredura passiva (padrão) e ativa.
  • Identificar tipos de API e formatos de especificação aceitos pelo API security testing.

Pré-requisitos: Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC

Conteúdo

TópicoTierFonte
DAST baseado em navegador; analisador proxy removido em 17.3; template Security/DAST.gitlab-ci.yml (DAST_VERSION 6 desde 18.0)Ultimatedocumentação
Stage dast, DAST_TARGET_URL ou arquivo environment_url.txtUltimatedocumentação
Varredura passiva habilitada por padrão; varredura ativa desabilitada por padrãoUltimatedocumentação
Varreduras DAST sob demanda e perfisUltimatedocumentaçã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 testeUltimatedocumentação
Políticas de segurança: varredura, aprovação de MR, execução de pipeline e gestão de vulnerabilidades · Avançado · 2 h

Objetivos

  • Criar e vincular um security policy project a um projeto.
  • Configurar scan execution policy que injeta varredura no pipeline.
  • Configurar merge request approval policy baseada em resultados de varredura.
  • Distinguir os modos de pipeline execution policy e os stages reservados.

Pré-requisitos: Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC

Conteúdo

TópicoTierFonte
Tipos de política: scan execution, merge request approval, pipeline execution, scheduled pipeline execution e vulnerability managementUltimatedocumentação
Security policy project (.gitlab/security-policies/policy.yml) e policy_scopeUltimatedocumentaçã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 injetadosUltimatedocumentação
Merge request approval policy: regras scan_finding, license_finding e any_merge_request; severity_levels e vulnerabilities_allowedUltimatedocumentação
Pipeline execution policy: inject_policy, override_project_ci (inject_ci depreciado); stages .pipeline-policy-pre e .pipeline-policy-postUltimatedocumentação
Vulnerability management policy: resolução automática de vulnerabilidades não mais detectadas na branch padrãoUltimatedocumentação
Compliance e auditoria: frameworks, compliance center, eventos de auditoria e evidências · Intermediário · 2 h

Objetivos

  • Criar compliance framework no grupo de nível superior e aplicá-lo a projetos.
  • Consultar os relatórios do compliance center.
  • Consultar e filtrar eventos de auditoria de grupo e projeto.
  • Configurar aprovações de merge request que separam autor, committer e aprovador.

Pré-requisitos: plataforma-organizacao

Conteúdo

TópicoTierFonte
Compliance frameworks no grupo de nível superior; até 20 frameworks por projeto; framework padrãoPremiumdocumentação
Criação de framework a partir de template (GA 19.1) com requisitos e controlesUltimatedocumentação
Compliance center: overview, status, violations, frameworks e projectsPremiumdocumentação
Eventos de sign-in com sucesso (Authentication log do usuário)Freedocumentação
Eventos de auditoria de grupo e projeto; retenção sem prazo; filtro por período de até 30 diasPremiumdocumentação
Streaming de eventos de auditoria para destinos HTTP e Google Cloud LoggingUltimatedocumentação
Separação de funções com configurações de aprovação (autor e committers)Premiumdocumentação
Evidência de release (snapshot JSON gerado na criação da release)Freedocumentação
Coleta de evidência de release em outro momento, por APIPremiumdocumentação
Identidade, tokens e segredos em CI/CD · Avançado · 2 h

Objetivos

  • Identificar tipos de token pelo prefixo e o prazo de expiração padrão de tokens de acesso.
  • Configurar a allowlist do CI/CD job token.
  • Configurar ID tokens (OIDC) com audiência por job.
  • Configurar leitura de segredos do HashiCorp Vault com a palavra-chave secrets.

Pré-requisitos: Fundamentos de pipelines GitLab CI/CD

Conteúdo

TópicoTierFonte
Prefixos de token (glpat-, glrt-, glcbt-, gldt-, glptt-, glagent-, entre outros)Freedocumentação
Personal access tokens: expiração padrão de 365 dias e limite máximo configurável pelo administradorFreedocumentação
CI/CD job token e allowlist de projetos e gruposFreedocumentação
ID tokens (JWT) com id_tokens e claim audFreedocumentação
Segredos do HashiCorp Vault em jobs (autenticação JWT com ID token)Premiumdocumentação
GitLab Secrets Manager (beta público desde 19.0; disponibilidade limitada no GitLab.com desde 19.3; consome GitLab Credits)Premiumdocumentação
Papéis customizados baseados em papel padrãoUltimatedocumentação

Laboratórios

Cada aluno recebe um subgrupo com os projetos dos exercícios; a correção é automática, pela API da plataforma GitLab.

ExercícioTítuloObjetivoTierDuração
lab-ci-01Primeiro pipeline com stages e jobsCriar .gitlab-ci.yml com build e teste e executar o pipeline em main.Free45 min
lab-ci-02Diagnosticar pipeline quebradoCorrigir erro de sintaxe YAML e erro de script sem remover testes.Free40 min
lab-seg-01Habilitar SAST, detecção de segredos, container scanning e IaC scanningAdicionar varreduras de segurança ao pipeline com os templates CI/CD.Free50 min
lab-seg-02Secret push protection e dependency scanning por SBOMBloquear segredos no push e gerar SBOM com dependency scanning.Ultimate35 min
lab-seg-03Triagem e correção de vulnerabilidadesConfirmar, descartar com motivo, abrir issue e corrigir vulnerabilidades do vulnerability report.Ultimate45 min
lab-seg-05Scan execution policy e merge request approval policyImpor detecção de segredos em todos os pipelines e exigir aprovação para novos achados críticos.Ultimate50 min
lab-segredos-01CI/CD job token entre projetos e ID tokenAutorizar acesso entre projetos pela allowlist do job token e declarar ID token com audiência.Free45 min