No repositório PyPI foram encontrados cerca de 5000 segredos deixados no código e 8 ofuscadores maliciosos

Pesquisadores do GitGuardian publicaram os resultados de uma análise de dados confidenciais esquecidos por desenvolvedores no código hospedado no repositório de pacotes Python PyPI (Python Package Index). Após estudar mais de 9,5 milhões de arquivos e 5 milhões de lançamentos de pacotes relacionados a 450 mil projetos, foram identificados 56866 casos de vazamento de dados confidenciais. Se considerarmos apenas os dados únicos, sem duplicação em diferentes lançamentos, o número de vazamentos identificados foi de 3938, e o número de projetos com pelo menos um vazamento foi de 2922.

Foi identificado um total de mais de 150 tipos de vazamentos de informações confidenciais, incluindo senhas comuns, chaves criptográficas, tokens de acesso a serviços em nuvem, sistemas de integração contínua e APIs. Pelo menos 768 credenciais permaneciam válidas no momento da pesquisa. Como exemplo de vazamentos populares ainda relevantes, menciona-se chaves de acesso ao Azure Active Directory, credenciais para SSH, MongoDB, MySQL e PostgreSQL, chaves para o aplicativo OAuth do GitHub, Dropbox e Auth0, e credenciais de login do Coinbase e Twilio.

Entre os tipos de vazamentos em crescente popularidade, mencionam-se tokens de acesso a bots no Telegram, cujo número dobrou no início de 2021 e voltou a dobrar na primavera de 2023. Um crescimento constante de vazamentos também é registrado desde 2020 para chaves de acesso à Google API, e desde 2022, para credenciais de SGBD. Entre os pacotes com o maior número de vazamentos estão os pacotes chatllm e safire, que deixaram para trás 209 chaves da OpenAI e 320 chaves do Google Cloud.

Entre os tipos de arquivos com o maior número de vazamentos, além dos arquivos com a extensão «.py», estão os arquivos com a extensão .json (610 vazamentos), .md (270), PKG-INFO (240), METADATA (210), .txt (170), bem como arquivos README (209) e arquivos de diretórios nomeados de teste (675). Muitos vazamentos também estão relacionados a descuidos e erros na configuração da exclusão de arquivos ao gerar pacotes. Por exemplo, arquivos de configuração locais (.cookiecutterrc, .env, .pypirc, etc.) podem ser excluídos do repositório Git através do arquivo «.gitignore», que não é levado em conta na criação do pacote. Em particular, foram encontrados no repositório 43 arquivos .pypirc contendo credenciais para acesso ao PyPI. Em 15 casos de vazamentos, os desenvolvedores não planejavam publicar pacotes criados para uso interno, mas os publicaram no PyPI por engano.

Além disso, vale mencionar mais dois eventos relacionados ao PyPI:

  • No repositório PyPI foram identificados 8 pacotes maliciosos, apresentados como utilitários para ofuscação, ou seja, a transformação do código em um formato ilegível, dificultando a reversão do algoritmo de funcionamento. Os pacotes identificados continham a string «pyobf» nos nomes (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight, Pyobfadvance, Pyobfuse e pyobfgood) e foram baixados mais de 2000 vezes.

    O código malicioso integrado nos pacotes era específico para a plataforma Windows e permitia a conexão a um controlador externo servidor, executar comandos arbitrários no computador do desenvolvedor, encontrar e enviar informações confidenciais, como chaves de acesso, para um servidor externo, além de transferir arquivos arbitrários do sistema. Além disso, o código malicioso podia funcionar como keylogger, interceptando senhas digitadas no Chrome, tirando capturas de tela, gravando áudio e até controlando a webcam.

  • Os resultados da auditoria independente do código da ferramenta usada para gerenciar o repositório pypi.org e do framework "cabotage", envolvido na infraestrutura para orquestração de containers, foram publicados. A auditoria foi realizada com o apoio da organização sem fins lucrativos OTF (Open Technology Fund). Durante a auditoria, não foram identificados problemas de alto risco, e os códigos-fonte foram considerados em conformidade com os requisitos básicos para uma escrita de código segura. No entanto, foi observada uma cobertura insuficiente de testes na base de código do cabotage e foram identificados 29 problemas, dos quais oito foram classificados como de risco moderado, 6 como baixo e 14 foram marcados como observações informativas.

    As questões mais significativas:

    • A verificação insuficiente das assinaturas digitais usadas para integrar o PyPI com o AWS SNS permitiu o envio de notificações para o e-mail de usuários específicos.
    • Vazamento de informações no manipulador de uploads, permitindo a determinação da existência de uma conta sem gerar eventos de tentativas de login.
    • Uso de hashes criptográficos não confiáveis, que não excluem ataques de envenenamento de cache.
    • Com permissões para executar processos de construção via cabotage, um atacante potencialmente poderia conseguir inserir seus próprios comandos.
    • Com permissões de implantação (deployment) no cabotage, um atacante potencialmente poderia implantar uma imagem com aparência legítima.

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