Durante muito tempo, segurança era a etapa final: o software ficava pronto, um time separado fazia uma auditoria e, na véspera do deploy, apontava problemas caros de consertar. DevSecOps inverte isso. A ideia é trazer segurança para o começo e distribuí-la por todo o processo, tornando-a responsabilidade de todos — não um portão no fim do caminho. Para um DevOps sênior, isso deixou de ser opcional.
Shift-left de segurança
"Shift-left" significa mover as preocupações de segurança para a esquerda da linha do tempo — para mais perto da escrita do código. Quanto mais cedo um problema é encontrado, mais barato é corrigi-lo. Um segredo vazado pego num commit custa segundos; o mesmo segredo descoberto em produção custa um incidente.
Segurança não é um carimbo no fim da esteira; é uma propriedade que se constrói em cada etapa. Quanto mais à esquerda você pega o problema, mais barato e menos doloroso é resolvê-lo.
Gestão de segredos
Senhas, tokens e chaves de API nunca devem ir para o Git — nem em arquivos de configuração, nem "temporariamente". Uma vez no histórico, lá ficam para sempre. A solução é um cofre de segredos (vault), de onde a aplicação busca as credenciais em tempo de execução, com acesso auditado e rotação automática.
For a long time, security was the final step: the software was done, a separate team ran an audit and, on the eve of the deploy, pointed out problems that were expensive to fix. DevSecOps flips that. The idea is to bring security to the beginning and spread it across the whole process, making it everyone's responsibility — not a gate at the end of the road. For a senior DevOps engineer, this is no longer optional.
Shift-left security
"Shift-left" means moving security concerns to the left of the timeline — closer to when the code is written. The earlier a problem is found, the cheaper it is to fix. A leaked secret caught in a commit costs seconds; the same secret discovered in production costs an incident.
Security isn't a stamp at the end of the conveyor belt; it's a property built at every step. The further left you catch the problem, the cheaper and less painful it is to fix.
Secrets management
Passwords, tokens and API keys should never go into Git — not in config files, not "temporarily". Once in the history, they stay there forever. The solution is a secrets vault, from which the application fetches credentials at runtime, with audited access and automatic rotation.
# ERRADO — segredo no código, versionado para sempre
db_password = "p@ssw0rd123"
# CERTO — referência a um segredo guardado no cofre
db_password = vault.read("secret/prod/db").password
Menor privilégio (least privilege)
O princípio do menor privilégio diz que cada usuário, serviço ou processo deve ter apenas as permissões de que precisa, nada além. Na prática, isso se faz com IAM (Identity and Access Management): em vez de dar acesso de administrador "para facilitar", você concede o mínimo. Assim, se uma credencial vaza, o estrago fica contido.
Scan no pipeline: SAST e DAST
O pipeline de CI/CD é o lugar ideal para automatizar verificações de segurança a cada mudança. Três tipos aparecem com frequência:
| Técnica | O que analisa | Quando roda |
|---|---|---|
| SAST | O código-fonte parado | No build |
| DAST | A aplicação em execução | Em ambiente de teste |
| Scan de imagem | Vulnerabilidades nas dependências da imagem | Após o build do container |
Least privilege
The principle of least privilege says that every user, service or process should have only the permissions it needs, nothing more. In practice, this is done with IAM (Identity and Access Management): instead of granting admin access "to make things easier", you grant the minimum. That way, if a credential leaks, the damage is contained.
Pipeline scanning: SAST and DAST
The CI/CD pipeline is the ideal place to automate security checks on every change. Three types appear frequently:
| Technique | What it analyzes | When it runs |
|---|---|---|
| SAST | The static source code | At build |
| DAST | The running application | In a test environment |
| Image scan | Vulnerabilities in the image's dependencies | After the container build |
steps:
- run: trivy image minha-app:1.2 # scan de vulnerabilidades
- run: gitleaks detect # procura segredos vazados
- run: semgrep --config auto # análise estática (SAST)
Segurança da cadeia de suprimentos
Software moderno é montado com centenas de dependências de terceiros — e cada uma é uma porta de entrada potencial. Ataques de supply chain exploram exatamente isso: comprometem uma biblioteca popular para atingir todos que a usam. Defender-se envolve fixar versões, verificar a procedência dos pacotes e manter um inventário do que você usa (SBOM).
Cultura: responsabilidade de todos
A parte mais difícil do DevSecOps não é a ferramenta, é a cultura. Segurança deixa de ser "problema do time de segurança" e passa a ser critério de qualidade que todo desenvolvedor e operador carrega. No dia a dia isso aparece em revisões de código que olham para riscos, em escolhas de arquitetura que assumem que coisas vão falhar, e na naturalidade de tratar um alerta de segurança como se trata um bug.
Conclusão
DevSecOps é segurança integrada, contínua e compartilhada. Trazer as verificações para a esquerda, manter segredos fora do Git, aplicar menor privilégio, automatizar scans no pipeline e cuidar da cadeia de suprimentos são práticas concretas que, somadas a uma cultura onde todos se importam, tornam o sistema resiliente por construção. É o que distingue um DevOps sênior maduro.
Supply chain security
Modern software is assembled from hundreds of third-party dependencies — and each one is a potential entry point. Supply chain attacks exploit exactly that: they compromise a popular library to reach everyone who uses it. Defending against them involves pinning versions, verifying package provenance and keeping an inventory of what you use (SBOM).
Culture: everyone's responsibility
The hardest part of DevSecOps isn't the tooling, it's the culture. Security stops being "the security team's problem" and becomes a quality criterion that every developer and operator carries. Day to day, it shows up in code reviews that look for risks, in architecture choices that assume things will fail, and in treating a security alert as naturally as you treat a bug.
Conclusion
DevSecOps is security that is integrated, continuous and shared. Shifting checks left, keeping secrets out of Git, applying least privilege, automating scans in the pipeline and looking after the supply chain are concrete practices that, combined with a culture where everyone cares, make the system resilient by design. That is what sets a mature senior DevOps engineer apart.