No catálogo PyPI (Python Package Index) foram identificadas três bibliotecas contendo código malicioso. Antes da detecção dos problemas e do recondicionamento do catálogo, os pacotes foram baixados quase 15 mil vezes.
Os pacotes dpp-client (10.194 downloads) e dpp-client1234 (1.536 downloads) estavam disponíveis desde fevereiro e incluíam código para enviar o conteúdo de variáveis de ambiente, que poderiam conter chaves de acesso, tokens ou senhas de sistemas de integração contínua ou ambientes em nuvem, como AWS. Os pacotes também enviavam para um host externo uma lista com o conteúdo dos diretórios "/home", "/mnt/mesos/" e "mnt/mesos/sandbox".

O pacote aws-login0tool (3.042 downloads) foi publicado no repositório PyPI em 1 de dezembro e incluía código para baixar e executar um aplicativo trojan para obter controle sobre hosts que operam sob o Windows. Ao escolher o nome do pacote, considerou-se que as teclas "0" e "-" estão próximas e há uma chance de que o desenvolvedor digitasse "aws-login0tool" em vez de "aws-login-tool".

Os pacotes problemáticos foram identificados em um experimento simples, onde uma parte dos pacotes PyPI (cerca de 200 mil dos 330 mil pacotes no repositório) foi baixada usando a ferramenta Bandersnatch. Em seguida, a ferramenta grep foi utilizada para destacar e analisar os pacotes que, no arquivo setup.py, mencionavam a chamada "import urllib.request", normalmente utilizada para enviar solicitações a hosts externos.
Fonte: opennet.ru
