O SDK Python oficial da Telnyx no PyPI foi comprometido nesta manhã como parte de uma campanha de cadeia de suprimentos escalonada e de semanas de duração, orquestrada pelo grupo de atores de ameaças TeamPCP. Versões maliciosas 4.87.1 e 4.87.2 do pacote telnyx foram enviadas ao PyPI às 03:51 UTC de 27 de março de 2026, com o payload executando silenciosamente no momento da importação em sistemas Windows e Linux/macOS.
A campanha TeamPCP
O comprometimento da Telnyx não é um evento isolado; é o elo mais recente em uma campanha de cadeia de suprimentos de encadeamento de credenciais que o TeamPCP tem executado desde 19 de março de 2026. O padrão operacional do grupo é preciso e repetível: comprometer uma ferramenta de segurança ou desenvolvedor confiável, roubar as credenciais de CI/CD que ela expõe, usar essas credenciais para envenenar o próximo alvo na cadeia, colher quaisquer segredos que o novo ambiente contenha e repetir.
Linha do tempo do ataque
A campanha começou em 19 de março com o scanner de vulnerabilidade de código aberto da Aqua Security, Trivy, sendo backdoorado (CVE-2026-33634). Em 20 de março, o TeamPCP implantou o backdoor CanisterWorm em mais de 46 pacotes npm. Em 22 de março, foi observada a implantação de esteganografia WAV para entregar payloads em uma variante de wiper do Kubernetes. Em 23 de março, ações do GitHub da Checkmarx foram comprometidas. Em 24 de março, versões do LiteLLM foram publicadas ao PyPI usando credenciais roubadas. Em 27 de março, a Telnyx torna-se a última vítima.
O payload da Telnyx: Execução no momento da importação
De acordo com o advisory da Akidio, a injeção maliciosa no pacote Telnyx reside em telnyx/_client.py e é executada no momento da importação. Não há hook de instalação para desativar; o malware executa no momento em que um desenvolvedor ou aplicativo chama import telnyx. O ataque bifurca em dois caminhos de execução dependendo do sistema operacional hospedeiro.
Técnica de esteganografia WAV
O mecanismo de entrega de payload merece atenção especial. Em vez de buscar um binário bruto ou um script Python, o TeamPCP entrega seus payloads disfarçados como arquivos de áudio .wav. Os arquivos são áudios estruturalmente válidos e passam nas verificações de tipo MIME. O conteúdo malicioso é ocultado dentro dos dados de quadro de áudio usando uma lógica de decodificação específica onde os primeiros 8 bytes dos dados de quadro decodificados servem como a chave XOR; o restante é o payload ofuscado.
Indicadores de comprometimento (IOCs)
Os IOCs incluem os pacotes maliciosos telnyx==4.87.1 e telnyx==4.87.2, com hashes SHA256 específicos. O servidor C2 é 83[.]142[.]209[.]203:8080. Os URLs de payload para Windows e Linux/macOS são hangup.wav e ringtone.wav respectivamente. O cabeçalho de exfiltração é X-Filename: tpcp.tar.gz. O caminho de persistência no Windows é %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe.
Medidas de mitigação
Organizações que instalaram as versões maliciosas devem tomar as seguintes ações sem demora: remover as versões maliciosas (rebaixar para telnyx==4.87.0), tratar o ambiente como comprometido (girar todas as chaves de API, credenciais de banco de dados, chaves SSH), verificar arquivos msbuild.exe na pasta de inicialização do Windows e bloquear tráfego de saída para o IP do C2.
Implicações para a segurança de software
Dado o assessment do FBI após o comprometimento do LiteLLM de que "um aumento nas divulgações de violações, intrusões de acompanhamento e tentativas de extorsão" é esperado nas próximas semanas, as organizações que integram pacotes de infraestrutura de telecomunicações ou IA baseados em Python devem auditar urgentemente suas árvores de dependência e impor o bloqueio de versão em todos os ambientes.
O que os CISOs devem fazer agora
Auditar pipelines de CI/CD para verificar se qualquer pipeline de build executando as versões afetadas da Telnyx também tinha acesso a credenciais para outros pacotes ou plataformas. O comportamento documentado do TeamPCP é usar cada comprometimento para permitir o próximo. A revisão de dependências e a aplicação de políticas de assinatura de pacotes são essenciais.
Perguntas frequentes
Qual é o impacto do comprometimento? Execução de código remoto no momento da importação, permitindo roubo de credenciais e persistência no sistema.
Como o malware se esconde? Usa esteganografia em arquivos de áudio WAV e renomeia processos para nomes legítimos como msbuild.exe.
Qual é a recomendação principal? Rebaixar imediatamente para a versão 4.87.0 e girar todas as credenciais expostas.