Vazamento de token para acesso total aos repositórios do GitHub do projeto Python

Pesquisadores da empresa JFrog descobriram, no conjunto da imagem Docker "cabotage-app", um token que fornece acesso administrativo aos repositórios Python, PyPI e Python Software Foundation no GitHub. O token foi encontrado em um arquivo binário "__pycache__/build.cpython-311.pyc" com bytecode pré-compilado armazenado em cache.

Vazamento de token para acesso total aos repositórios do GitHub do projeto Python

De acordo com representantes do repositório PyPI, o token foi criado em 2023 para o desenvolvedor ewdurbin (Ee Durbin), que ocupa o cargo de diretor de infraestrutura na organização Python Software Foundation. O token concedia acesso administrativo a todos os repositórios e organizações do projeto, incluindo todos os repositórios das organizações pypi, python, psf e pypa. A imagem Docker problemática com o token foi publicada no diretório do Docker Hub em 3 de março de 2023 e removida em 11 de junho de 2024, ou seja, ficou 16 meses disponível ao público. O token foi revogado em 28 de junho.

É notável que nos códigos-fonte disponíveis, com base nos quais foi gerado o arquivo problemático com bytecode, não há menção ao token. O autor do código explicou que, durante o desenvolvimento da ferramenta cabotage-app5 em seu sistema local, enfrentou limitações de taxa de acesso à API do GitHub ao realizar a função de upload automatizado de arquivos do GitHub, e para contornar os limites impostos a acessos anônimos ao GitHub, temporariamente adicionou seu token de trabalho ao código. Antes da publicação do código escrito, o token foi removido, mas o desenvolvedor não levou em conta que a menção ao token foi armazenada em cache no arquivo pré-compilado com bytecode, que posteriormente foi incluído na imagem Docker. def _fetch_github_file( — github_repository="owner/repo", ref="main", access_token=None, filename="Dockerfile" + github_repository="owner/repo", + ref="main", + access_token="0d6a9bb5af126f73350a2afc058492765446aaad", + filename="Dockerfile", )

A auditoria de atividade nos repositórios do GitHub realizada pelos desenvolvedores do Python não identificou tentativas de acesso de terceiros utilizando o token exposto. Considerando que desde 2017 o GitHub é a plataforma primária para o desenvolvimento do CPython, a possibilidade de o token cair em mãos mal-intencionadas poderia levar à compromisssão total da infraestrutura usada para o desenvolvimento do Python e do repositório PyPI, além de permitir tentativas de integração de backdoors no CPython e no gerenciador de pacotes PyPI.

O incidente destaca a importância de analisar vazamentos não apenas no código-fonte, arquivos de configuração e variáveis de ambiente, mas também em arquivos binários. No contexto do Python, os usuários também são aconselhados a prestar atenção à presença de arquivos .pyc com bytecode compilado em projetos carregados, pois esses arquivos podem conter modificações ocultas que não estão presentes no código-fonte.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster