Alguns analistas da Sonatype informaram que foram descobertos pacotes python PyPi enviando chaves roubadas da AWS para sites não seguros.
O PyPI é um repositório de pacotes de código aberto que os desenvolvedores de software usam para escolher os blocos de construção de seus projetos baseados em Python ou compartilhar seu trabalho com a comunidade.
Agora, vários pacotes Python maliciosos disponíveis no repositório PyPI foram pegos roubando informações confidenciais, como credenciais da AWS, e transmitindo-as para endpoints expostos publicamente, acessíveis a qualquer pessoa.
Descobertos pacotes python PyPi enviando chaves roubadas da AWS
Embora o PyPI geralmente responda rapidamente a relatórios de pacotes maliciosos na plataforma, não há uma verificação real antes do envio, portanto, pacotes perigosos podem ficar à espreita por um tempo.
Empresas de segurança da cadeia de suprimentos de software, como a Sonatype, usam ferramentas especializadas de detecção automatizada de malware para identificá-los e, nesse caso, identificaram os seguintes pacotes como maliciosos:
- módulos loglib
- pyg-modules
- pygrata
- pygrata-utils
- hkg-sol-utils
Enquanto os dois primeiros pacotes tentam imitar projetos legítimos e populares no PyPI para enganar usuários descuidados ou inexperientes para instalá-los e os outros três não têm direcionamento aparente, todos os cinco apresentam semelhanças ou conexões de código.
Os analistas da Sonatype J. Cardona e C. Fernandez descobriram que os pacotes ‘loglib-modules’ e ‘pygrata-utils’ foram criados para exfiltração de dados, captura de credenciais da AWS, informações de interface de rede e variáveis de ambiente.
Curiosamente, ‘pygrata’ não contém a funcionalidade de roubo de dados por si só, mas requer ‘pygrata-utils’ como uma dependência.
É por isso que, embora quatro dos pacotes maliciosos tenham sido relatados e removidos do PyPI imediatamente, ‘pygrata’ permaneceu lá por mais tempo, embora não pudesse fazer muito por conta própria.
Os dados roubados são armazenados em arquivos TXT e enviados para um domínio PyGrata[.]com. No entanto, o endpoint não está devidamente protegido, então os analistas podem espiar o que os agentes da ameaça roubaram.
Atuando de forma ética e na presunção de que poderia estar faltando algo, os dois analistas entraram em contato com os proprietários do domínio para informá-los da exposição pública e solicitar explicações.
Logo depois, o endpoint foi protegido do acesso público sem que a Sonatype recebesse uma resposta. Isso provavelmente significa que a finalidade desses pacotes e do domínio de hospedagem de dados não é legítima.
Mesmo que esses pacotes tenham sido usados para testes de segurança legítimos e os operadores por trás deles nunca pretendessem explorar os detalhes roubados, sua presença no PyPI pode ter exposto “participantes involuntários” a riscos significativos, pois suas credenciais foram expostas.
Como esses pacotes maliciosos não estão usando truques de typosquatting, eles não visam aleatoriamente desenvolvedores que digitaram errado um caractere, mas usuários que procuram ferramentas específicas para seus projetos.
Os desenvolvedores de software são aconselhados a ir além dos nomes dos pacotes e examinar os históricos de lançamentos, datas de upload, links da página inicial, descrições de pacotes e números de download, todos ajudando coletivamente a determinar se um pacote Python é o negócio real ou uma falsificação perigosa.