Desenvolvimento Seguro de Software

Desenvolvimento Seguro de Software

Atualizado em: 2026-09

O que você vai aprender:

  • Como integrar práticas de segurança no ciclo de vida de desenvolvimento (SDLC) com métricas acionáveis.
  • Técnicas concretas para hardening de pipeline CI/CD, gestão de dependências e proteção da cadeia de suprimentos de software.
  • Playbooks operacionais para Blue Team e Red Team, além de matrizes de controles mapeadas por fase do SDLC.

Pré-requisitos: conhecimento de programação básica, conceitos de CI/CD, noções de containers e exposição a ferramentas de integração contínua (Jenkins, GitLab CI, GitHub Actions).

Nível: intermediário | avançado

Sumário:

Desenvolvimento seguro deixou de ser um diferencial – é requisito para continuidade de negócio. Organizações que não internalizarem práticas de secure software development enfrentarão não apenas multas e danos à marca, mas também interrupções operacionais por vulnerabilidades exploradas em tempo real. Este artigo reúne práticas técnicas, playbooks, checklists e métricas para transformar um SDLC tradicional em um pipeline resiliente contra ataques, com foco em aplicabilidade prática para equipes de engenharia, segurança e operações.

Contexto Atual e Relevância Estratégica

Panorama recente e porque é relevante agora

Desde 2024-2026 houve aceleração de ataques que exploram a cadeia de suprimentos de software: ataques a repositórios, roubo de chaves de build e envenenamento de packages tornaram-se vetores primários. Relatórios de 2025-2026 mostram que empresas comprometidas via supply chain têm tempo médio de recuperação (MTTR) 2-3x maior do que incidentes comuns, elevando custo de resposta e perda operacional. Isso muda prioridades: segurança do desenvolvimento passa a ser priorizada no board executivo e em auditorias regulatórias.

Ponto-chave

Proteção da cadeia de suprimentos é agora controle estratégico, não apenas técnico; exige políticas, evidência (SBOM) e práticas de build reprodutível.

Tendências 2025-2026 que impactam SDLC

1) Adoção massiva de pacotes de terceiros e microservices aumenta a superfície de ataque; 2) Ambientes multicloud e infra-as-code tornaram artefatos de infraestrutura alvos diretos; 3) Ataques automatizados usando LLMs e scanners inteligentes elevam a escala de exploração; 4) Regulação sobre SBOM e transparência de ciclo de vida começou a ser implementada em alguns setores críticos desde 2025. Essas tendências exigem mudanças operacionais imediatas na forma como software é desenvolvido e entregue.

Impacto de negócio e risco quantificado

Risco financeiro direto: custos de resposta a incidentes por vulnerabilidade crítica média variam de dezenas de milhares a milhões de dólares para empresas médias; para grandes empresas, a cifra escala para dezenas de milhões quando a cadeia de suprimentos é afetada. Risco operacional: downtime, rollback de releases e perda de confiança do cliente. Métrica importante para gestão: Percentual de releases com SBOM e assinaturas válidas – meta inicial recomendada 90% em 6 meses.

Alerta

Sem controles de build e assinatura, qualquer artefato pode ser trocado em trânsito entre CI e Prod. O exploit pode passar despercebido por testes funcionais tradicionais.

Fundamentos Técnicos do Tema

Princípios do Secure SDLC

Secure SDLC combina princípios de prevenção, detecção e mitigação distribuídos ao longo de cada fase: requisitos, design, implementação, build, teste, deploy e operação. Decisão prática: adotar “shift-left” para mover detecção de vulnerabilidades para fases iniciais, reduzindo custo de correção. Métrica útil: tempo médio para corrigir vulnerabilidade detectada em desenvolvimento vs produção (meta: corrigir em dev 5-10x mais rápido que em prod).

Figura: camadas técnicas do tema

Modelos e frameworks aplicáveis

Principais frameworks que devem nortear a prática: NIST SSDF (mapeamento de práticas seguras), OWASP ASVS para requisitos de aplicação, ISO/IEC 27034 para segurança de aplicações, SLSA para integridade da cadeia de suprimentos e CIS Controls para controles técnicos essenciais. Trade-off: aderência rígida reduz risco, mas aumenta tempo de entrega; mitigar com automação e gates técnicos.

Ameaças por fase do SDLC

Mapear ameaças por fase permite decisões de controle específicas. Exemplo de matriz resumida (ver tabela comparativa mais abaixo) apresenta vetores, controles e métricas por fase. Decisão: priorizar mecanismos que sejam automáticos (SAST/SCA) no pipeline para evitar dependência de revisão manual exclusiva.

Fase SDLCAmeaça PrincipalControle RecomendadoMétrica
RequisitosAusência de requisitos de segurançaThreat modeling, requisitos de OWASP ASVS% requis. com segurança definida
DesignDesign inseguro, falta de cryptoSecure design review, arquitetura de confiançaEncontrados issues críticos em design
ImplementaçãoInjeção de código inseguro, secrets em repoSAST, secret scanning, code review obrigatórioVulnerabilidade por KLOC
BuildCompromisso do runner, artefatos falsificadosBuild reproducible, assinatura dos artefatos, isolamento do runner% builds assinadas
DeployImagens maliciosasImagem scanning, runtime policies% imagens aprovadas
OperaçãoExploração em runtimeEDR, WAF, RASP, observabilidadeMTTD / MTTR

Ferramentas e tecnologias-chaves

Lista mínima para um pipeline seguro: Git (protection rules), SAST (Semgrep, SonarQube, CodeQL), SCA (OWASP Dependency-Check, Snyk, WhiteSource), container scanners (Trivy, Clair), artifact registry (Harbor, Artifactory), CI runners isolados (self-hosted com policies), chaveamento/PKI para assinatura, SBOM generators (Syft, CycloneDX). Decisão: preferir ferramentas que se integrem via API para automação de bloqueios.

Dica

Configure políticas “fail build” apenas para categorias críticas inicialmente; expanda gradualmente para evitar bloqueios de desenvolvimento com alto custo político.

Arquitetura, Fluxos e Superfície de Ataque

Arquitetura típica de CI/CD e pontos de controle

Uma arquitetura segura separa responsabilidades e aplica defesa em profundidade: repositório git com branch protections, runners isolados em VPC, sistemas de build em máquinas efêmeras, registro de artefatos com escaneamento automático e assinaturas, e um canal verificado para deploy. Cada componente é potencial vetor: credenciais no repo, runners comprometidos, vazamento em registros públicos. O objetivo é reduzir o blast radius por compromissos pontuais.

Fluxo de artefatos e controles chave.

Superfície de ataque moderna

Elementos que ampliam superfície: dependências transitivas, infra-as-code, plugins de CI, runners de comunidade, pipelines que chamam scripts externos, e chaves estáticas. Quantifique risco: número de dependências diretas + transitivas por projeto; equipes medianas veem 1k-10k dependências transitivas. Estratégia: reduzir dependências, adotar política de whitelisting e revisão mensal automatizada de SCA.

Modelo de confiança e assinatura de artefatos

Implementar um modelo de confiança baseado em assinaturas e metadados auditáveis. Assinatura de artefatos (cosign, GPG) cria uma cadeia de confiança que pode ser verificada em deploy. Recomendação operacional: chave de assinatura armazenada em HSM ou KMS com rotação anual e uso de chaves dedicadas por ambiente. Métrica: % commits/artefatos assinados com chave rota e KMS.

Mapeamento Purdue e aplicações modernas

No contexto OT/ICS, mapear aplicação ao modelo Purdue ajuda identificar fronteiras de confiança. Aplicações edge e microservices devem ter controles de decomposição e políticas de comunicação estritas. Para cloud-native, substitua zonas Purdue por namespaces e políticas de rede (NetworkPolicies/Service Mesh) para segmentação. Trade-off: segmentação rigorosa aumenta complexidade operacional; compense com automação de políticas (e.g., OPA/Gatekeeper).

ComponenteRiscoControle TécnicoIndicador
Git RepoLeak de secrets, PR maliciosoSecret scanning, branch protection, signed commitsIncidentes por leakage / mês
CI RunnerExecução de código arbitrárioRunners isolados, ephemeral creds% runners atualizados / vulneráveis
Artifact RegistryImagens maliciosasScanning automatizado, assinaturas% imagens aprovadas
DeployChaos de configuraçãoPolicy-as-code, canary deploys% deploys com rollback automático

Cenários Reais e Estudos de Caso

Estudo de caso: Compromisso do runner de CI

Incidente hipotético baseado em padrões observados 2024-2026: atacante explora uma falha em plugin de CI para executar código em runner com permisos limitados, encontra token de deploy em cache e publica uma imagem maliciosa assinada com chave roubada. Resultado: propagação para produção via pipeline automatizado. Correção efetiva: isolar runners, revogar tokens, revalidar assinaturas e habilitar verificação de conteúdo do container. Métrica pós-incidente: tempo para rotacionar credenciais críticas (meta < 1 hora).

Alerta

Tokens long-lived e credenciais salvas em runners são vulnerabilidade crítica; políticas de curto tempo de vida e uso de OIDC para runners eliminam necessidade de long-lived tokens.

Estudo de caso: Envenenamento de cadeia de dependência

Exemplo clássico: package trojanizado em um pacote popular leva a execução de código malicioso em build servers que usam esse pacote. Mitigação técnica comprovada: SCA com política de blocking para dependencies com reputação ruim, somado a whitelists para artefatos essenciais. Decisão de risco: bloquear versões pode atrasar releases; alternativa: isolar builds que usam dependências suspeitas e executar testes adicionais sob sandbox.

Estudo de caso: Falha criptográfica por design

Problema: equipe implementa criptografia proprietária em vez de primitives comprovadas; vulnerabilidade explorada compromete dados em repouso. Correção: definição de requisito de criptografia em fase de design (uso de libs auditadas), revisão de design por especialistas e testes de fuzzing para validação. Métrica preventiva: % de projetos que usam primitives padrão (AES-GCM, RSA/ECDSA) vs. custom crypto.

Implementação Prática Step-by-Step

Plano de implantação do Secure SDLC

Implantar um SDLC seguro é projeto organizacional. Abaixo um plano com passos práticos, priorizando ações que reduzem risco imediato enquanto se constroem capacidades automatizadas.

  1. Mapear ativos de software e dependências por aplicação – inventário inicial em 30 dias.
  2. Habilitar proteção de branches e signed commits em todos os repositórios críticos.
  3. Implementar secret scanning e policy que bloqueia commits com secrets detectados.
  4. Adicionar SAST e SCA ao pipeline com regras “alerta” iniciais, evoluindo para “fail” para classes críticas em 60-90 dias.
  5. Isolar runners de CI e mover para uso de OIDC / short-lived tokens com least privilege.
  6. Gerar SBOMs para builds críticos e armazenar em registry auditável.
  7. Assinar artefatos (image/package) usando cosign ou KMS-backed keys antes do deploy.
  8. Configurar scanners de imagem em registry e policies de admissão para bloquear imagens sem assinatura ou com findings críticos.
  9. Instrumentar observabilidade (tracing/logs/metrics) para deploys e runtime com alertas para anomalias.
  10. Treinar equipes de dev em secure coding, threat modeling e resposta a vulnerabilidades com exercícios práticos trimestrais.

Exemplos de comandos e configurações

Assinatura de imagem com cosign (exemplo prático e reproduzível):

Configuração básica de policy para GitHub Actions com OIDC (trecho):

Validação de pipeline e testes automatizados

Para validar que o pipeline cumpre requisitos: automatizar execução de uma suite de testes de segurança que inclui SAST, SCA, DAST em ambiente isolado, e geração de SBOM. Métrica de aceitação: pipeline verde possui 0 findings críticos e < X findings médios por KLOC. Decisão: usar exceptions formalizadas para manejar falsos positivos com responsáveis técnicos.

Pipeline com gates de segurança e assinatura final.

Kit de lab

Kit de lab: ambiente mínimo para exercitar secure SDLC localmente: GitHub repo privado, GitHub Actions ou GitLab CI, cosign, Trivy, Syft, Semgrep, container registry (como Docker Hub privado ou Harbor), e um cluster Kubernetes local (k3s/minikube) para deploy e testes de runtime. Objetivo: validar assinaturas, SBOMs e politik-as-code em 2 dias. Procedimento de validação: criar um commit com secret falso e observar bloqueio; publicar imagem sem assinatura e validar rejeição no admission controller.

Hardening, Controles e Melhores Práticas

Hardening do repositório e controle de código

Configurações mínimas obrigatórias para repositórios: branch protection com require pull request reviews (2 approvers), status checks (SAST/SCA), signed commits enforcement, obrigatoriedade de code owners, e disable de force-push em branches protegidos. Métrica: % de repositórios com proteção aplicada (meta 100% para críticos).

Figura: pilha de hardening (da rede à lógica)

Gestão de secrets e credenciais

Proibir secrets em código. Ferramentas: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault. Boas práticas: credenciais com TTL curto, permissões mínimas, uso de OIDC para autenticação de runners, monitoramento de uso de secrets e alerta para acesso anômalo. Comando exemplo para scan local com truffleHog ou detect-secrets:

Métrica operativa: número de secrets encontrados por mês por repositório; objetivo < 1 após a primeira varredura e correção.

Hardening de containers e imagens

Boas práticas: base images reduzidas (distroless), varredura de CVEs no build, builds imutáveis, assinaturas e scanning contínuo. Trade-off de escolha de base: imagens menores reduzem superfície, mas podem exigir pacotes adicionais; decisão deve ser baseada em inventário de dependências e risco. Ferramentas e comandos:

Runtime protection e detecção

Complementar prevenção com detecção: WAF para aplicação web, EDR para servidores, e Runtime Application Self-Protection (RASP) quando aplicável. Observability: logs estruturados, distributed tracing e métricas de desempenho com thresholds para anomalias. Métrica crítica: MTTD (Mean Time to Detect) para anomalias de runtime; meta < 15 minutos para falhas críticas.

Dica

Implemente canary releases e monitoramento de erros para detectar rapidamente regressões ou sinais de envenenamento de artefato antes que 100% do tráfego seja afetado.

Matriz de controles por fase do SDLC

FaseControleFerramenta ExemploResponsável
RequisitosSecurity requirements / ASVSDocumento ASVS, Threat ModelProduct Owner / Sec. Arch
DesignThreat modeling, design reviewOWASP Threat Dragon, Microsoft Threat Modeling ToolSec. Arch / Dev Lead
ImplementaçãoSAST, secret scanSemgrep, detect-secretsDev / DevOps
BuildSBOM, artifact signingSyft, cosignCI Team / DevOps
TestDAST, SCA, fuzzingOWASP ZAP, Trivy, AFLQA / Sec Testing
DeployPolicy as code, admission controllerOPA/Gatekeeper, KyvernoPlatform Team
OperaçãoEDR, observability, incident responseFalco, Elastic, EDR vendorSOC / SRE

Playbooks Operacionais para Blue Team e Red Team

Playbook Blue Team – Detecção de artefatos comprometidos

Ações e sequência para detectar e mitigar artefatos comprometidos em pipeline.

Figura: ciclo detectar-conter-recuperar
  • Verificar assinatura de artefatos e SBOMs para releases recentes.
  • Correlacionar commits/PRs com uso de dependências suspeitas via SCA.
  • Isolar imagens/vulneráveis e iniciar rollbacks para versões anteriores assinadas.
  • Rotacionar chaves de build e tokens utilizados pelo runner comprometido.
  • Executar forense em runners e logs do CI para determinar pontos de intrusão.

Playbook Red Team – Teste de compromissos no pipeline

Sequência de atividades controladas para testar a resiliência do pipeline ao compromisso.

  • Simular commit malicioso em branch de feature com secret oculto (autorizado e escopado).
  • Tentar execução em runner com privilégios para acessar registry privado.
  • Tentar injetar pacote trojanizado em dependências transitivas de teste.
  • Tentar publicar imagem sem assinatura para validar policy enforcement.
  • Relatar findings com PoC e recomendações de mitigação.

Playbook resumido

Playbook resumido: rotina executável em 6 horas para triagem inicial de incidente de cadeia de suprimentos: (1) identificar release e artefatos afetados; (2) bloquear deploys; (3) verificar assinaturas e SBOM; (4) rotacionar credenciais; (5) executar rollback e revalidar imagens assinadas.

Métricas, KPIs e Auditoria Técnica

KPIs essenciais para medir eficiência do Secure SDLC

Seleção mínima de KPIs com objetivos e frequência de revisão:

Figura: loop de métricas e evidência
KPIDescriçãoMeta sugeridaFrequência
% builds assinadasPercentual de builds que geram artefatos assinados> 90% em 6 mesesSemanal
MTTDTempo médio para detectar vulnerabilidade/exploit< 15 minutos para produção críticaDiário/Alertas
MTTRTempo médio para remediar após detecção< 24 horas para issues críticasMensal
Vulnerability densityVulnerabilidades por KLOC em produçãoRedução 20% ao trimestreMensal
% repos com proteçãoRepos com branch protection, signed commits100% para críticosMensal

Auditoria técnica e evidências

Auditar SDLC exige evidências: logs de build, SBOMs assinados, resultados de SAST/SCA históricos, registros de rotação de chaves e política de acesso a secrets. Arquive essas evidências por período definido pela regulação (ex.: 1-3 anos). Ferramentas de SIEM devem ingerir eventos de CI/CD para correlação e geração de alertas automáticos.

Métricas de eficiência de segurança versus velocidade

Trade-off conhecido: aumentar controles tende a aumentar lead-time. Métricas operacionais a monitorar: lead time to change (tempo desde commit até deploy) e deployment frequency. Objetivo: reduzir impacto dos controles na velocidade via paralelização de scans e escalonamento incremental de políticas.

Erros Comuns, Armadilhas e Correções

Erro 1: Confiar cegamente em SCA sem contexto

Armagem comum: bloquear automaticamente com base em CVE sem avaliar exposição. Correção: priorizar findings por exploitability e contexto de uso, integrar SCA com runtime telemetry para priorização. Métrica: % falsos positivos aceitáveis e tempo médio para triagem.

Figura: anti-padrão e correção

Erro 2: Long-lived credentials no pipeline

Risco: credenciais permanentes em runners ou arquivos. Correção: adotar OIDC, short-lived tokens e HSM/KMS para chaves. Comando de validação: listar secrets em pipeline e mover para vault. Ferramenta: ‘git-secrets’ e detect-secrets integrados no pre-commit.

Erro 3: Ausência de SBOM e rastreabilidade

Sem SBOM, responder a vulnerabilidades em dependências torna-se lento. Correção: gerar SBOM por build e armazenar em database auditável. Métrica: tempo para mapear impacto de CVE em sistemas – objetivo < 24 horas para ativos críticos.

Erro 4: Política de “fail build” sem plano de exceção

Implementar políticas de bloqueio sem processo para lidar com falsos positivos atrasa entregas e reduz confiança. Correção: pipeline com estágios de “alerta” e “fail” graduais, e processo formal de exceção com SLA para análise.

FAQ Técnico para Busca Orgânica

O que é SBOM e por que preciso de um?

SBOM (Software Bill of Materials) é um inventário detalhado de componentes, bibliotecas e dependências que compõem um artefato. Serve para rastrear vulnerabilidades e comprovar origem de componentes. Recomendação prática: gerar SBOM em cada build com Syft ou CycloneDX e armazenar com o artefato assinado.

Qual a diferença entre SAST, DAST, SCA e IAST?

SAST analisa código-fonte estático antes da execução; DAST testa a aplicação em execução simulando ataques; SCA mapeia dependências e detecta vulnerabilidades conhecidas; IAST instrumenta a aplicação em runtime para testes mais precisos. Estratégia: combinar SAST + SCA em shift-left e DAST/IAST em testes de integração para aumentar cobertura.

Como impedir que secrets vazem para repositórios públicos?

Implementar secret scanning (detect-secrets, git-secrets), bloquear pushes com secrets via pre-receive hooks, treinar devs e usar vaults com integração direta no runtime e pipelines. Procedimento adicional: rotacionar credenciais expostas imediatamente e reavaliar permissões.

É necessário assinar todos os artefatos?

Idealmente, sim para artefatos críticos. Assinaturas garantem integridade e origem. Comece assinando builds de produção e migrar para 100% em 6-12 meses. Use cosign ou ferramentas com KMS/HSM para chaves seguras.

Como medir sucesso do programa de Secure SDLC?

Medir via KPIs: % builds assinadas, MTTD/MTTR, vulnerability density, % repos com proteção e tempo médio para corrigir vulnerabilidades em dev vs prod. A melhoria contínua deve mostrar redução de tempo e vulnerabilidades ao longo de trimestres.

Qual abordagem de threat modeling devo usar?

STRIDE é simples e eficaz para aplicações; PASTA fornece análise de risco mais holística; use a que a equipe consiga manter com disciplina. Integre threat modeling nas reviews de sprint e atualize quando houver mudanças arquiteturais.

Como lidar com dependências transitivas inseguras?

A estratégia inclui bloquear versões específicas, aplicar whitelists, usar replicação/registry interno com políticas de aprovação e analisadores de SCA automáticos. Em casos críticos, considerar fork temporário do pacote com correção e manutenção interna até que upstream resolva.

Quando usar RASP e WAF?

WAF é camada perimetral para aplicações web; RASP instrumenta a aplicação e detecta ou bloqueia ataques em runtime. Use RASP quando não for possível corrigir rapidamente vulnerabilidades de código em aplicações legadas; use WAF como camada adicional e não substituta do secure coding.

Como integrar Secure SDLC com conformidade (ISO27001, NIST)?

Mapear controles do SDLC para requisitos de conformidade: políticas, evidências de build, gestão de acessos, e auditoria. Use a SSDF/NIST como baseline técnico e documente evidências para ISO 27001. Mapeie evidências para controles de auditoria e mantenha tombamento de logs por período requerido.

Qual a prioridade entre reduzir dependências e automatizar gates?

Prioridade pragmática: automatizar gates para reduzir risco imediato; em paralelo, planejar redução de dependências como projeto de médio prazo. Ambos são complementares: automatização impede introdução de dependências arriscadas sem revisão.

Como provar para o board que investimento em Secure SDLC vale a pena?

Apresente métricas: redução de MTTR, percentual de builds assinadas, tempo para mapear impacto de CVE, e cenários de perda evitada. Use estudos de caso internos e benchmarking de mercado para quantificar o risco financeiro mitigado.

Considerações Finais

Desenvolvimento seguro de software é disciplina que combina engenharia, automação e governança. A mudança mais eficaz não é impor ferramentas, mas alterar mentalidade: tratar segurança como requisito de produto e não como tarefa paralela. Invista em automação onde ela reduz custo e atrito; escolha controles que sejam auditáveis e mensuráveis; mantenha um ciclo de feedback entre Dev, Sec e Ops. Em última instância, a vantagem competitiva vem de reduzir riscos que poderiam interromper serviços, e isso exige disciplina operacional contínua.

Próximo passo: execute o Checklist de Auditoria em 30 dias: verifique proteção de branches, SAST/SCA em pipeline, geração de SBOMs e assinaturas de artefatos. Meça e reporte os KPIs listados nesta página como baseline.

Recursos Visuais Sugeridos

Materiais públicos com diagramas, arquiteturas e visuais oficiais para apoiar o estudo do tema.

Referências

  • Secure Software Development Framework (SSDF), NIST, 2020, https://csrc.nist.gov/publications/detail/sp/800-218/final
  • Software Bill of Materials (SBOM) Guidance, NTIA, 2024, https://www.ntia.gov/SBOM
  • SLSA – Supply chain Levels for Software Artifacts, Google, 2024, https://slsa.dev/
  • ENISA Threat Landscape Report, ENISA, 2025, https://www.enisa.europa.eu/publications/
  • Microsoft Security Intelligence Report, Microsoft, 2025, https://www.microsoft.com/security/blog
  • OWASP Application Security Verification Standard (ASVS), OWASP, 2023, https://owasp.org/www-project-asvs/
  • OWASP Top 10 and API Security Top 10, OWASP, 2021-2023, https://owasp.org/
  • Verizon Data Breach Investigations Report (DBIR) 2025, Verizon, 2025, https://www.verizon.com/business/resources/reports/dbir/
  • Cosign – Container Signing Tool, sigstore, 2024, https://sigstore.dev/cosign/
  • Syft – SBOM generation, Anchore, 2023, https://github.com/anchore/syft
  • Trivy – Image vulnerability scanner, Aqua Security, 2024, https://github.com/aquasecurity/trivy
  • Semgrep – SAST lightweight, r2c, 2024, https://semgrep.dev/
  • OPA / Gatekeeper – Policy as Code, CNCF, 2023, https://www.openpolicyagent.org/
  • GitHub Actions OIDC documentation, GitHub, 2025, https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect

Você pode gostar...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *