Indispensáveis para o funcionamento do site (sessão, preferências, segurança). Sempre ativos.
Higiene de atualização de dependências para MSP: da política ao Renovate
Uma base prática para reduzir o intervalo entre uma correção lançada e a sua adoção na frota: inventário SBOM, cadência fixa, implementações faseadas e o Renovate para automatizar o pull request, não o risco.
Neste artigo
Este guia destina-se a equipas de plataformas MSP que querem reduzir o intervalo entre o lançamento de uma correção por um fornecedor e a sua execução real em toda a frota: o que inventariar, com que frequência rever as dependências e onde uma ferramenta como o Renovate pode automatizar o trabalho repetitivo sem automatizar a decisão de risco.

Saber o que está em execução
A maioria dos incidentes ligados a dependências não são zero-days. São correções conhecidas, lançadas semanas ou meses antes de um atacante explorar o intervalo entre o lançamento e a adoção. Para plataformas MSP com infraestrutura exposta a clientes, fechar esse intervalo começa com um inventário — idealmente uma verdadeira lista de materiais de software (SBOM), e não uma folha de cálculo com nomes de anfitriões. Deve registar a versão em uso, onde está exposta e quem é o responsável. Sem isso, um aviso de patch não é acionável: uma equipa não consegue saber quais sistemas estão afetados sem os verificar um a um manualmente.
Definir uma cadência e mantê-la
Uma cadência de revisão definida — semanal, quinzenal, conforme a tolerância à mudança da plataforma — é melhor do que aplicar patches pontualmente apenas por causa de uma notícia. As implementações faseadas apanham regressões num grupo canary antes de chegarem a todos os clientes, e um plano de rollback registado no mesmo ticket de mudança que a atualização evita que um patch defeituoso se transforme numa interrupção prolongada enquanto alguém improvisa uma solução.
Higiene não é isolamento
Uma boa higiene de atualizações reduz a frequência com que uma dependência fica exposta com uma falha conhecida, mas não substitui os controlos de isolamento. Uma biblioteca vulnerável que falha em modo aberto continua a afetar apenas o raio que consegue alcançar — menor quando uma plataforma impõe um tenant por cliente do que quando os tenants partilham uma fronteira. Os dois controlos são complementares: a higiene reduz a frequência com que algo falha, o isolamento limita o que falha junto com isso.
Automatizar o pull request com o Renovate
O renovatebot/renovate é uma das ferramentas mais adotadas para manter as dependências atualizadas: analisa os ficheiros de pacotes de um repositório e abre pull requests para atualizar versões desatualizadas, em vez de aplicar as alterações diretamente. O projeto, mantido pela Mend.io, cresceu para cerca de 22.000 estrelas no GitHub e cobre mais de 90 gestores de pacotes, o que lhe permite cobrir uma stack MSP mista em vez de precisar de um bot separado por ecossistema. Os horários e as regras de pacotes podem ser definidos por repositório, o que evita que uma árvore de dependências ruidosa no código de um cliente abafe uma atualização crítica no de outro.
Tratar como um backlog, não um carimbo
O trabalho do Renovate termina no pull request; não faz merge nem deploy sozinho. Uma pessoa, ou um bot de políticas que exige testes e um gate de vulnerabilidades, continua a ter de aprovar a alteração. Combiná-lo com um gate de verificação fail-closed que bloqueia uma build quando uma dependência tem uma vulnerabilidade conhecida transforma as duas ferramentas numa divisão de tarefas: o Renovate propõe a correção, o gate decide se o pipeline pode avançar sem ela. Os pull requests resultantes devem ser tratados como um backlog operacional com um responsável e um prazo de merge, em vez de assumir que um PR aberto equivale a um risco fechado. Equipas que queiram uma verificação externa estruturada dos seus próprios pontos fracos em atualizações e gestão de vulnerabilidades também podem recorrer a uma avaliação dedicada; os serviços de cibersegurança da Altovar cobrem testes de penetração, avaliação de vulnerabilidades, resposta a incidentes e conformidade com NIS2/DORA/GDPR.
O que fazer
- Construir um inventário — idealmente um SBOM — das versões das dependências e onde cada uma está implementada.
- Definir uma cadência de revisão fixa em vez de aplicar patches só quando há CVE em destaque.
- Ativar uma ferramenta como o Renovate para abrir automaticamente pull requests de atualização, configurada por repositório.
- Combiná-la com um gate fail-closed que bloqueie merges quando uma dependência tiver uma vulnerabilidade conhecida.
- Escalonar as implementações através de uma camada canary antes de as lançar para toda a frota.
- Registar o plano de rollback no mesmo ticket que a atualização, antes de a aplicar.
Fontes: CISA Known Exploited Vulnerabilities Catalog, renovatebot/renovate no GitHub.