PyPI combate ataques de domínios expirados
19 de Agosto de 2025

Os mantenedores do repositório Python Package Index (PyPI) anunciaram que o gerenciador de pacotes agora verifica domínios expirados para prevenir ataques à cadeia de suprimentos.

"Essas mudanças melhoram a postura de segurança geral da conta do PyPI, tornando mais difícil para os atacantes explorarem nomes de domínios expirados para obter acesso não autorizado às contas", disse Mike Fiedler, engenheiro de segurança e proteção do PyPI na Python Software Foundation (PSF).

Com a última atualização, a intenção é combater ataques de ressurreição de domínio, que ocorrem quando maus atores compram um domínio expirado e o usam para tomar controle de contas do PyPI por meio de redefinições de senha.

O PyPI anunciou que deixou de verificar mais de 1.800 endereços de e-mail desde o início de junho de 2025, assim que seus domínios associados entraram em fase de expiração.

Embora não seja uma solução à prova de falhas, ajuda a fechar uma importante brecha de ataque à cadeia de suprimentos que, de outra forma, pareceria legítima e difícil de detectar, acrescentou.

Endereços de e-mail estão atrelados a nomes de domínio que, por sua vez, podem expirar, caso não sejam pagos – um risco crítico para pacotes distribuídos via registros open-source.

A ameaça é ampliada se esses pacotes foram abandonados por seus respectivos mantenedores, mas ainda são bastante usados por desenvolvedores downstream.

Usuários do PyPI são obrigados a verificar seus endereços de e-mail durante a fase de registro da conta, garantindo assim que os endereços fornecidos sejam válidos e acessíveis a eles.

Mas essa camada de defesa é efetivamente neutralizada caso o domínio expire, permitindo assim que um atacante compre o mesmo domínio e inicie um pedido de redefinição de senha, que seria entregue na caixa de entrada dele (ao invés do verdadeiro dono do pacote).

A partir daí, tudo o que o ator de ameaça precisa fazer é seguir os passos para ganhar acesso à conta com aquele nome de domínio.

A ameaça representada por domínios expirados surgiu em 2022, quando um atacante desconhecido adquiriu o domínio usado pelo mantenedor do pacote ctx PyPI para obter acesso à conta e publicar versões fraudulentas no repositório.

A mais recente proteção adicionada pelo PyPI visa prevenir esse tipo de cenário de tomada de conta (ATO) e "minimizar a exposição potencial caso um domínio de e-mail expire e mude de mãos, independentemente de a conta ter 2FA ativado." Vale ressaltar que os ataques são aplicáveis apenas a contas que foram registradas usando endereços de e-mail com um nome de domínio personalizado.

O PyPI disse que está utilizando a Status API da Fastly para consultar o status de um domínio a cada 30 dias e marcar o endereço de e-mail correspondente como não verificado se ele expirou.

Usuários do gerenciador de pacotes Python estão sendo aconselhados a ativar a autenticação de dois fatores (2FA) e adicionar um segundo endereço de e-mail verificado de outro domínio notável, como Gmail ou Outlook, se as contas tiverem apenas um único endereço de e-mail verificado de um nome de domínio personalizado.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...