Integração contínua e entrega contínua (CI/CD) configurações incorretas descobertas na estrutura de aprendizado de máquina TensorFlow amplamente utilizada levantam preocupações sobre possíveis ataques à cadeia de suprimentos.
Vulnerabilidades do TensorFlow e o risco de ataques à cadeia de suprimentos
Os pesquisadores pretorianos Adnan Khan e John Stawinski destacaram vulnerabilidades que poderiam ter permitido que invasores comprometessem versões do TensorFlow no GitHub e PyPi manipulando os agentes de construção do TensorFlow por meio de uma solicitação pull maliciosa.
Explorar essas configurações incorretas poderia ter permitido que invasores externos carregassem versões maliciosas para o repositório GitHub, alcançar execução remota de código no executor GitHub auto-hospedado, e até obter um token de acesso pessoal do GitHub (PAT) para o usuário tensorflow-jenkins.
TensorFlow utiliza GitHub Actions para automatizar a construção de seu software, teste, e pipeline de implantação, com executores executando jobs no fluxo de trabalho. A documentação do GitHub enfatiza o uso de executores auto-hospedados com repositórios privados devido a possíveis riscos de segurança associados a forks públicos.
O problema identificado permitiu que qualquer contribuidor executasse código arbitrário no executor auto-hospedado, enviando uma solicitação pull maliciosa. Praetorian identificou fluxos de trabalho do TensorFlow executados em executores auto-hospedados, revelando que solicitações de fork pull de contribuidores anteriores acionaram automaticamente fluxos de trabalho de CI/CD sem exigir aprovação.
Uma investigação mais aprofundada expôs executores auto-hospedados não efêmeros com extensas permissões GITHUB_TOKEN, permitindo que um invasor carregue versões, enviar código diretamente para o repositório do TensorFlow, e comprometer o segredo do repositório JENKINS_TOKEN.
A divulgação levou os mantenedores do projeto do TensorFlow a implementar medidas de segurança cruciais, exigindo aprovação para todos os fluxos de trabalho de solicitações pull de fork e restringindo as permissões GITHUB_TOKEN para somente leitura para fluxos de trabalho executados em executores auto-hospedados.. Estas alterações, implementado até dezembro 20, 2023, com o objetivo de aumentar a segurança e impedir o acesso não autorizado.
conclusivos Pensamentos
Este incidente mostra a crescente ameaça de ataques CI/CD, impactando particularmente as empresas de IA/ML que dependem de um poder computacional significativo. Como mais organizações automatizam seus processos de CI/CD, medidas de segurança rigorosas tornam-se imperativas para proteger contra vulnerabilidades potenciais.
além do que, além do mais, os pesquisadores também divulgaram vulnerabilidades em outros repositórios públicos do GitHub, incluindo aqueles associados à Chia Networks, Microsoft DeepSpeed, e PyTorch, reforçando a necessidade de avaliações de segurança contínuas no cenário em evolução do desenvolvimento e implantação de software.