URGENTE: pacote com versão maliciosa do ctx em Python estava presente no PyPI
O pacote ctx não era atualizado faz 8 anos, e até o presente momento nenhuma mudança foi refletida no GitHub. Mas este pacote foi comprometido dia 21/05 durante uma substituição maliciosa que envia as credenciais da AWS para um servidor.
O pacote ctx tem em média 22.000 downloads por semana. O pacote malicioso foi disponibilizado a partir do dia 14 de maio. O invasor trabalhou na versão 0.1.2 e também nas últimas versões 0.2.2 3 0.2.6. O objetivo é roubar as credenciais AWS. Os dados enviados são/eram o AWS access Key ID, nome do host e AWS secret access key, toda vez que um dicionário era criado. Tudo foi removido, mas para quem sofreu o ataque o estrago pode ser grande.
Como detectar se o sistema conte o pacote com código malicioso? Para não ter duvida, mude para o diretório raiz e efetue o seguinte comando que varrerá todo o disco.
cd / sudo find . -name 'ctx*py'|xargs grep AWS
Se nada aconteceu, fique em paz e vá tomar um café ou uma cerveja. Caso contrário, se obter o resultado abaixo, remova e troque imediatamente as credenciais da AWSe desinstale o pacote ctx e instale novamente e reexecute o comando acima.
cd / sudo find . -name 'ctx*py'|xargs grep AWS if environ.get('AWS_ACCESS_KEY_ID') is not None:
self.access = environ.get('AWS_ACCESS_KEY_ID')
if environ.get('AWS_SECRET_ACCESS_KEY') is not None:
self.secret = environ.get('AWS_SECRET_ACCESS_KEY')