Segurança vs. Gambiarras de Última Hora — Shift Left ou Remendo no Código?

Segurança vs. Gambiarras de Última Hora — Shift Left ou Remendo no Código?

Não sei quanto a vocês, mas considerando a minha experiência no mercado de desenvolvimento de software, "segurança" e "urgência" raramente aparecem na mesma frase. Para tentar minimizar (e até resolver) esse problema, a prática de Segurança Shift Left é a tentativa de colocar as coisas no lugar certo. Shift Left significa que a segurança entra logo no início, no próprio processo de desenvolvimento. Isso previne um grande problema: vulnerabilidades no código que só seriam descobertas muito tempo depois, quando o software já está em produção, potencialmente exposto a ataques.


Vamos ver como integrar segurança desde o primeiro código, usando soluções que ajudam a antecipar problemas de segurança — principalmente as open source.


Ferramentas Open Source para Segurança "Shift Left"

Para adotar o Shift Left de forma completa, as ferramentas de segurança podem se integrar diretamente aos processos de desenvolvimento. Aqui estão algumas boas opções:

SAST (Static Application Security Testing): Ferramentas de SAST analisam o código enquanto ele está sendo escrito, ajudando a identificar vulnerabilidades antes de o código ser executado. Eu sei que já recomendei algumas vezes as ferramentas SonarQube e Checkmarx mas, ao invés de usá-las, podemos usar:

  • Semgrep: Uma poderosa ferramenta open source para análise estática que permite verificar o código em busca de padrões específicos. O Semgrep é flexível, de fácil integração em pipelines de CI/CD, e oferece regras que ajudam a detectar vulnerabilidades comuns e violações de boas práticas de segurança.
  • CodeQL: Outra solução open source, criada pela GitHub, que permite consulta e análise de código de maneira detalhada. CodeQL é excelente para equipes que precisam de uma análise aprofundada e específica das dependências de segurança e vulnerabilidades.


DAST (Dynamic Application Security Testing): Ferramentas de DAST testam o aplicativo em execução para identificar vulnerabilidades presentes durante a interação real com o software.

  • OWASP ZAP: O Zed Attack Proxy (ZAP) da OWASP é uma das ferramentas DAST mais reconhecidas no setor de segurança. Open source e amplamente suportada, permite simular ataques para avaliar a segurança de uma aplicação em execução, detectando possíveis vulnerabilidades antes que elas cheguem ao usuário final.
  • W3AF: Outra opção open source, o W3AF (Web Application Attack and Audit Framework) oferece um ambiente extensível para análise de vulnerabilidades. É uma ótima opção para simulações de ataques web e para fortalecer a segurança das aplicações em execução.


SCA (Software Composition Analysis): Em projetos que utilizam muitas bibliotecas de terceiros, ferramentas de SCA ajudam a garantir que essas dependências não tragam problemas de segurança para dentro do sistema.

  • Dependency-Track: Uma ferramenta open source que oferece rastreamento das dependências do projeto, ajudando a identificar bibliotecas vulneráveis. Com um dashboard fácil de visualizar, o Dependency-Track oferece uma visão clara dos riscos de segurança em tempo real.
  • OWASP Dependency-Check: Esse scanner de vulnerabilidades em dependências faz a verificação de bibliotecas e pacotes conhecidos para que versões problemáticas sejam identificadas e corrigidas.


Gerenciamento de Segredos e Credenciais: Não é incomum encontrar senhas e chaves de API hardcoded no código. Esse é um problema que pode ser resolvido com boas práticas de gerenciamento de segredos.

  • CyberArk Conjur: O Conjur é uma plataforma de segurança open source que gerencia segredos e permissões, mantendo as credenciais em segurança e protegidas de forma centralizada.
  • Doppler: Embora não seja totalmente open source, o Doppler tem uma versão gratuita e é bem conhecido por seu suporte no gerenciamento de segredos de forma simples e segura.


Monitoramento de Segurança: Ferramentas de monitoramento ajudam a manter um olho no que está acontecendo em tempo real no ambiente e detectam comportamentos suspeitos que possam indicar tentativas de invasão.

  • Graylog: Uma ferramenta open source de gerenciamento de logs que permite monitorar e gerenciar eventos de segurança com integração de alertas em tempo real. Com o Graylog, é possível monitorar o sistema em busca de atividades incomuns que indiquem potenciais ameaças.
  • OSSEC (Open Source Security Event Correlator): Uma plataforma de monitoramento e análise de logs que ajuda a identificar incidentes de segurança e faz análises de comportamento. O OSSEC é ótimo para quem quer monitorar segurança sem precisar de licenças proprietárias e ainda ter funcionalidades ricas.


E... como implementar Segurança Shift Left na prática?

Para que o Shift Left funcione, é essencial que as equipes de desenvolvimento, segurança e operações trabalhem em sintonia. Vamos ver os passos principais:

1. Planejamento com Segurança

Na fase inicial, a equipe já define as necessidades de segurança. Isso pode envolver práticas como modelagem de ameaças, uma análise para identificar possíveis riscos de segurança com perguntas estratégicas como “Quais dados este sistema irá manipular?” e “Onde estão os possíveis pontos de acesso e vulnerabilidades?”.

2. Código Seguro é Código Limpo

Em DevSecOps, os desenvolvedores seguem práticas de codificação segura, como validação de entrada de dados e uso de criptografia. Ferramentas como o TruffleHog ajudam a detectar e evitar que segredos sejam cometidos ao repositório. Outras opções, como GitLeaks, são alternativas open source eficazes para analisar repositórios Git e garantir que nenhum segredo sensível foi deixado no código.

3. Testes de Segurança Automatizados

Integrar ferramentas como Semgrep, ZAP e Dependency-Track aos pipelines de CI/CD permite que o código passe por uma análise rigorosa e automatizada antes de ser aprovado para produção. Com isso, erros de segurança são detectados e corrigidos cedo, antes que possam ser explorados.

4. Monitoramento Contínuo

Depois de lançado, o software deve ser monitorado para identificar rapidamente qualquer tentativa de intrusão. Graylog e OSSEC são opções eficientes para monitoramento e geração de alertas sobre atividades incomuns e possíveis ameaças.


Tem como ensinar Devs a falar "Segurança"?

Um dos pontos centrais do Shift Left é a cultura de segurança. O ideal é que cada membro da equipe entenda que segurança não é só uma responsabilidade do time de segurança. No mundo de DevSecOps, cada dev pensa em segurança, cada PR (Pull Request) é revisado com segurança em mente, e cada deployment é feito com segurança como prioridade. Afinal, não estamos falando apenas de proteger dados e usuários, mas de proteger a própria reputação do produto e do negócio.


A integração de segurança desde o início, com ferramentas como Semgrep, Dependency-Track, Graylog e OSSEC, transforma a segurança de um processo doloroso para um benefício real, que acompanha o desenvolvimento. Com Shift Left e DevSecOps, vulnerabilidades são tratadas antes mesmo de se tornarem problemas reais.


Ok... eu sei que talvez não seja tão simples assim, mas... se você estiver lidando com cenário de desenvolvimento, onde o aplicativo resultante precisará lidar com dados pessoais e com potencial de exposição pública, considere seriamente adotar as melhores práticas.


Acredite: A gambiarra não compensa!

Entre para ver ou adicionar um comentário

Outros artigos de David J.

Outras pessoas também visualizaram

Conferir tópicos