Se não forem devidamente protegidas, a infraestrutura e as ferramentas que executam nossas pipelines de compilação e de entrega podem se tornar uma grande vulnerabilidade. Os pipelines precisam acessar dados e sistemas críticos, como código, credenciais e segredos, para compilar e implantar software. Isso torna esses sistemas muito atrativos para agentes maliciosos. Portanto, recomendamos fortemente a aplicação da arquitetura de confiança zero para pipelines de CI/CD e infraestrutura — confiando neles o mínimo necessário. Isso engloba uma série de técnicas: se disponível, faça a autenticação dos seus pipelines com seu provedor de nuvem por meio de mecanismos de identidade federada como OIDC; em vez de dar a eles acesso direto a segredos, implemente o princípio do menor privilégio, minimizando o acesso de contas de usuárias individuais ou de execução, em vez de empregar contas de acesso ilimitado; use seus executores de forma efêmera em vez de reutilizá-los, para reduzir o risco de expor segredos de atividades anteriores ou executar atividades em executores comprometidos; mantenha o software em seus agentes e executores atualizado, monitore a integridade, confidencialidade e disponibilidade de seus sistemas CI/CD da mesma forma que você monitora seu software em produção. Estamos observando equipes se esquecendo desse tipo de prática, principalmente quando estão acostumadas a trabalhar com uma infraestrutura autogerenciada de CI/CD em zonas de rede internas. Embora todas essas práticas sejam importantes em suas redes internas, elas se tornam ainda mais cruciais ao usar um serviço gerenciado, pois isso amplia ainda mais a superfície de ataque e o raio de impacto.
Se não estiverem corretamente protegidas, a infraestrutura e as ferramentas que executam nossos pipelines de compilação e entrega podem se tornar uma grande fraqueza. Para compilar e implantar o software, esses pipelines precisam de acesso a dados e sistemas críticos, tais como código-fonte, credenciais e chaves secretas. Isso torna esses sistemas bastante convidativos para atores mal-intencionados. Nós então recomendamos fortemente a aplicação de modelos de segurança de arquitetura de confiança zero para pipelines de CI/CD e infraestrutura – confiando nelas o mínimo necessário. Isso abarca um conjunto de técnicas: se possível, autenticar seus pipelines junto ao seu provedor de serviços em nuvem via mecanismos de identidade de uma entidade federada como OIDC ("OpenID Connect"), em vez de dar a eles acesso direto a chaves secretas. Implementar o princípio do menor privilégio, minimizando o acesso de usuárias individuais ou de contas de executores, em vez de utilizar contas com acesso ilimitado. Usar os executores de forma efêmera, em vez de reutilizá-los, reduzindo o risco de exposição de segredos de atividades anteriores ou de executar atividades em executores comprometidos. Manter o software nos agentes e executores atualizado. Monitorar a integridade, a confidencialidade e a disponibilidade de seus sistemas de CI/CD da mesma forma que se monitora o software em produção. Temos visto equipes esquecendo desses tipos de práticas, especialmente quando estão acostumados a trabalhar com uma infraestrutura autogerenciada de CI/CD em zonas internas da rede. E enquanto tais práticas são importantes nas redes internas, se tornam ainda mais cruciais quando se usa um serviço externo gerenciado, pois isso aumenta ainda mais a superfície de ataque e o raio de destruição.