📬 Toda semana, um resumo de segurança, Clean Code e IA no seu e-mail Inscreva-se →

O que é DevSecOps e por que sua empresa deveria adotar agora

Você já viu essa cena: o time de segurança aparece duas semanas antes do go-live com uma lista de 40 problemas no relatório de pentest. Ninguém sabia que aquilo ia acontecer, o deploy já tava marcado, o cliente já foi avisado da data, e agora o time de dev precisa parar tudo pra corrigir coisa que poderia ter sido pega há três meses, quando a funcionalidade foi desenhada. Isso não é falha de ferramenta. É falha de processo. E é exatamente o problema que o DevSecOps existe para resolver.

DevSecOps não é uma ferramenta, é uma mudança de responsabilidade

A definição de manual diz que DevSecOps é a integração de práticas de segurança dentro do fluxo de DevOps, com automação, colaboração entre times e segurança “shift-left”. Tudo isso é verdade, mas não é o ponto central. O ponto central é: hoje, segurança é responsabilidade de um time separado que entra no fim do processo. No DevSecOps, segurança é responsabilidade de quem escreve o código, desde o commit.

Isso muda o jogo porque resolve um problema estrutural: o time de segurança tradicional nunca escala junto com o time de dev. Se você tem 50 desenvolvedores e 2 pessoas de AppSec, esses 2 nunca vão revisar tudo manualmente. A saída não é contratar mais gente de segurança — é fazer com que a esteira de CI/CD faça parte do trabalho de checagem, e que o desenvolvedor receba o feedback de segurança no mesmo lugar onde recebe o feedback de lint ou de teste unitário: no pull request, antes do merge.

Os três pilares que fazem DevSecOps funcionar (e não virar só um nome bonito)

Muita empresa “adota DevSecOps” só renomeando o time de AppSec e adicionando um scanner no pipeline. Isso não é DevSecOps, é SAST com marketing novo. Os três pilares reais são:

1. Automação real no pipeline. SAST, SCA (análise de dependências), e nos casos mais maduros DAST rodando automaticamente em cada pull request ou build, não sob demanda. Se alguém precisa pedir manualmente pra rodar um scan, o processo já falhou.

2. Gate de qualidade com critério claro. Não adianta rodar o scanner se o resultado é um PDF de 200 páginas que ninguém lê. Você precisa definir: vulnerabilidade crítica bloqueia o merge, vulnerabilidade média vira ticket com prazo, vulnerabilidade baixa vira backlog. Sem esse critério, a ferramenta gera ruído e o time aprende a ignorar o alerta — que é o pior cenário possível, pior que não ter scanner nenhum.

3. Segurança como parte do design, não como auditoria pós-fato. Isso significa threat modeling na etapa de planejamento, revisão de arquitetura considerando superfície de ataque, e desenvolvedores com conhecimento mínimo de vulnerabilidades comuns (o OWASP Top 10 é o ponto de partida óbvio aqui).

Um exemplo de esteira DevSecOps básica

Isso aqui não é teoria, é o tipo de configuração que dá pra montar em um pipeline GitLab CI ou GitHub Actions em uma tarde:

stages:
  - build
  - test
  - security
  - deploy

sast:
  stage: security
  script:
    - semgrep --config=auto --error ./src
  allow_failure: false  # crítico bloqueia o pipeline

dependency-check:
  stage: security
  script:
    - npm audit --audit-level=high
  allow_failure: false

secrets-scan:
  stage: security
  script:
    - gitleaks detect --source . --exit-code 1
  allow_failure: false

Três checagens automáticas, sem intervenção manual, rodando em todo commit. Isso já cobre uma boa fatia dos problemas mais comuns: código vulnerável, dependência desatualizada com CVE conhecida, e segredo (chave de API, senha) commitado sem querer. Não substitui pentest nem threat modeling, mas elimina o retrabalho básico que hoje consome a maior parte do tempo de qualquer time de AppSec.

Onde isso costuma travar

Sendo honesto: DevSecOps não é bala de prata e tem custo real de adoção. Os dois atritos mais comuns que eu vejo:

  • Falsos positivos matam a credibilidade da ferramenta. Se o SAST aponta 200 problemas e 180 são ruído, o time vai simplesmente ignorar o relatório inteiro, inclusive os 20 reais. Configurar e afinar as regras do scanner pro seu contexto é trabalho contínuo, não um setup de uma vez.
  • Cultura não muda com ferramenta. Você pode ter o pipeline mais bonito do mundo e ainda assim ter dev que faz merge direto na branch principal ignorando o gate, porque “hoje o prazo tá apertado”. DevSecOps depende de liderança técnica reforçando que pular o gate de segurança tem custo maior que atrasar a entrega.

Nenhuma dessas coisas é motivo pra não adotar. São motivos pra adotar com expectativa realista: começa pequeno, com uma ou duas checagens automatizadas, mede o retrabalho que isso evita, e expande a partir daí.

Quem faz o quê num time DevSecOps

Uma dúvida comum é achar que DevSecOps elimina o time de segurança dedicado. Não elimina — muda o papel dele. Em vez de revisar manualmente cada linha de código antes do deploy (o que nunca escala), o time de AppSec passa a atuar em três frentes: manter e afinar as regras das ferramentas automatizadas (porque scanner genérico com regra padrão gera ruído demais), atuar como consultor em threat modeling nas features de maior risco, e investigar os casos que a automação não resolve sozinha — vulnerabilidade complexa, incidente real, decisão de arquitetura sensível. O desenvolvedor, por sua vez, passa a ser o primeiro filtro: corrige o que o pipeline aponta, sem esperar alguém de fora mandar um relatório.

Essa divisão só funciona se houver combinado claro de responsabilidade. Sem isso, o risco é o oposto do que se espera: cada lado acha que segurança “é problema do outro”, e a esteira automatizada vira só um checkbox que ninguém realmente lê.

Como começar, sem precisar de orçamento grande

Se sua empresa nunca fez nada disso, a ordem prática que funciona na maioria dos casos:

  • Adicione um scanner de SAST no pipeline, mesmo que só em modo de aviso (sem bloquear merge) nas primeiras semanas, pra medir o volume de alerta e ajustar falso positivo.
  • Depois de calibrado, ligue o bloqueio pra vulnerabilidade crítica.
  • Adicione checagem de dependência (SCA) — geralmente mais barato e com menos ruído que SAST.
  • Só depois disso, se fizer sentido pro seu produto, avance pra DAST e threat modeling formal.

Não existe atalho que pule a etapa de calibração. Empresa que liga bloqueio automático no primeiro dia, sem ajustar regra, normalmente desliga a ferramenta na semana seguinte porque travou entrega demais — e aí fica pior do que se nunca tivesse tentado, porque o time associa segurança automatizada a “coisa que atrapalha”.

Se você quer entender como cada uma dessas checagens (SAST, DAST, SCA) funciona na prática e quando usar cada uma, é o assunto do próximo artigo aqui no blog.

Leandro Rosendo Candido

Leandro Rosendo Candido

Engenheiro de Computação, mestre pela USP, 10+ anos com Embedded Linux. Escreve e grava sobre segurança, Clean Code e IA aplicada à programação.

Deixe um comentário

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

Rolar para cima