Novo ataque do TeamPCP comprometeu Telnyx no PyPI
O grupo de ameaças TeamPCP, responsável pelos ataques à cadeia de suprimentos contra ferramentas como Trivy, KICS e LiteLLM, agora comprometeu o pacote Python telnyx [1].
Esse ataque é um novo comprometimento da cadeia de suprimentos no PyPI: o pacote legítimo telnyx foi adulterado e versões maliciosas, 4.87.1 e 4.87.2, foram publicadas para roubar segredos de desenvolvedores e pipelines CI/CD. A orientação prática é reverter para telnyx 4.87.0, tratar qualquer ambiente que tenha importado as versões maliciosas como comprometido e rotacionar credenciais/secrets imediatamente.
Não há um CVE associado diretamente ao comprometimento do pacote Telnyx no PyPI pelas versões maliciosas 4.87.1 e 4.87.2. Esse é um caso clássico de ataque à cadeia de suprimentos por roubo de credenciais de publicação, não uma vulnerabilidade no código ou repositório da Telnyx, o que explica a ausência de CVE até o momento.
O que foi afetado
O telnyx é o SDK Python oficial da Telnyx, usado para integrar VoIP, SMS, WhatsApp, fax e IoT, e tem mais de 740 mil downloads por mês no PyPI, o que amplia muito o alcance potencial do incidente. Segundo os relatos, o malware foi injetado em telnyx/_client.py, então ele pode ser disparado automaticamente quando a biblioteca é importada por uma aplicação Python.
Impacto no Brasil
O Telnyx não é muito usado no Brasil em comparação com provedores locais que dominam o mercado de VoIP e SMS para empresas. Ele tem presença oficial no país com suporte a números brasileiros, vozes em português e uma subsidiária mas sua adoção é mais nichada em desenvolvedores internacionais ou integrações globais. Para devs brasileiros usando Telnyx, o risco é baixo devido ao uso limitado, mas se você integra VoIP/SMS em apps Python, verifique dependências e considere migração para SDKs locais mais auditados.
Como o malware funciona
No Windows, a carga maliciosa baixa um arquivo hangup.wav, extrai dele um executável e o coloca na pasta de inicialização como msbuild.exe, garantindo persistência após reboot.
No Linux/macOS, ele usa um ringtone.wav para esconder a segunda fase por esteganografia em áudio, executa o coletor de credenciais em memória e exfiltra dados sensíveis; os relatórios citam roubo de SSH keys, tokens cloud, variáveis de ambiente, credenciais de Docker/npm/Git/Vault, históricos de shell e dados de carteiras cripto.
Por que isso é grave
O ponto mais perigoso é que o código malicioso roda no momento do import, então um projeto pode ser comprometido mesmo sem execução explícita de um binário suspeito. Além disso, o ataque parece ter sido feito com credenciais roubadas de publicação no PyPI, o que indica que o invasor já tinha acesso a segredos obtidos em etapas anteriores da campanha.
Os mantenedores da Telnyx estão investigando o roubo de credenciais de publicação e recomendam PyPI Trusted Publishers (OIDC) para evitar recorrências [1]. Use ferramentas como pip-audit ou Safety para checar pacotes, e sempre pin versões em lockfiles para evitar upgrades automáticos.
CWEs
Esses CWEs focam em comprometimento de componentes ou dependências de terceiros, como o caso do Telnyx:
-
CWE-829: Inclusion of Functionality from Untrusted Control Sphere – Incluir código ou funcionalidade de fontes não confiáveis (ex.: pacote PyPI com credenciais roubadas).
-
CWE-1395: Dependency on Vulnerable Third-Party Component – Dependência em componente de terceiro vulnerável ou comprometido, como telnyx 4.87.1/4.87.2.
-
CWE-937: Using Components with Known Vulnerabilities – Uso consciente ou não de componentes conhecidos como inseguros.
Referências
[1] Telnyx Python SDK: Supply Chain Security Notice
[2] OpenID Connect para eliminar tokens API longos e prevenir ataques como o TeamPCP, evitando que repositórios confiáveis (ex.: GitHub Actions) publiquem diretamente.
-
Quickstart: https://docs.pypi.org/trusted-publishers/using-a-publisher/
-
Anúncio original: https://blog.pypi.org/posts/2023-04-20-introducing-trusted-publishers/
Nota de transparência: Essa publicação NÃO utilizou de ferramentas de Inteligência Artificial Generativa (LLM) para sua escrita, exceto para realização de pesquisa e validação de referências. Os demais o conteúdos foram elaborados e revisados pelo autor.