TeamPCP, the threat actor behind the supply chain attack targeting Trivy, KICS, and litellm, has now compromised the telnyx Python package by pushing two malicious versions to steal sensitive data.
The two versions, 4.87.1 and 4.87.2, published to the Python Package Index (PyPI) repository on March 27, 2026, concealed their credential harvesting capabilities within a .WAV file. Users are recommended to downgrade to version 4.87.0 immediately. The PyPI project is currently quarantined.
Various reports from Aikido, Endor Labs, JFrog, Ossprey Security, SafeDep, Socket, and StepSecurity indicate the malicious code is injected into “telnyx/_client.py,” causing it to be invoked when the package is imported into a Python application. The malware is designed to target Windows, Linux, and macOS systems.
“Our analysis reveals a three-stage runtime attack chain on Linux/macOS consisting of delivery via audio steganography, in-memory execution of a data harvester, and encrypted exfiltration,” Socket said. “The entire chain is designed to operate within a self-destructing temporary directory and leave near-zero forensic artifacts on the host.”
On Windows, the malware downloads a file named “hangup.wav” from a command-and-control (C2) server and extracts from the audio data an executable that’s then dropped into the Startup folder as “msbuild.exe.” This allows it to persist across system reboots and automatically run every time a user logs in to the system.
In case the compromised host runs on Linux or macOS, it fetches a different .WAV file (“ringtone.wav”) from the same server to extract a third-stage collector script and run. The credential harvester is designed to capture a wide range of sensitive data and exfiltrate the data in the form of “tpcp.tar.gz” via an HTTP POST request to “83.142.209[.]203:8080.”
“The standout technique in this sample – and the reason for the post title – is the use of audio steganography to deliver the final payload,” Ossprey Security said. “Rather than hosting a raw executable or a base64 blob on the C2 (both of which are trivially flagged by network inspection and EDR), the attacker wraps the payload inside a .WAV file.”
“This is almost identical to the sample observed in the LiteLLM malware, with one key difference: instead of embedding the malicious code as Base64, they now download it from a remote server,” OX Security’s Moshe Siman Tov Bustan said. “The malware downloads an XOR-obfuscated WAV file from a remote C2 server, decodes it, and then executes it on the target machine.”
It’s worth noting that the .WAV trick isn’t new to TeamPCP. The same methodology was previously used to conceal the malicious payload in the “kamikaze” wiper malware distributed via CanisterWorm and exposed Docker instances. In addition, the malware features a Kubernetes lateral movement component that abuses Kubernetes service account tokens to deploy a privileged pod to every node and deploy a persistence mechanism.
It’s currently not known how the package’s PYPI_TOKEN was obtained by TeamPCP, but it’s likely that it was through a prior credential harvesting operation.
“We believe the most likely vector is the litellm compromise itself,” Endor Labs researchers Kiran Raj and Rachana Misal said. “TeamPCP’s harvester swept environment variables, .env files, and shell histories from every system that imported litellm. If any developer or CI pipeline had both litellm installed and access to the telnyx PyPI token, that token was already in TeamPCP’s hands.”
In a security notice shared on its website, the maintainers of the Python package said both unauthorized versions have been removed from PyPI and that users are likely to be affected if they installed or upgraded the library between 03:51 UTC and 10:13 UTC on March 27, 2026. Telnyx said it’s also investigating how the publishing credentials were obtained by the threat actors.
What’s notable about the attack is the absence of a persistence mechanism in Linux and macOS and the use of a temporary directory to conduct the malicious actions and recursively delete all its contents once everything is complete.
“The strategic split is clear. Windows gets persistence: a binary in the Startup folder that survives reboots, providing the threat actor with long-term, repeatable access,” Socket explained. “Linux/macOS gets smash-and-grab: a single, high-speed data harvesting operation that collects everything of value and exfiltrates it immediately, then vanishes.”
The development comes a few days after the threat actor distributed trojanized versions of the popular litellm Python package to exfiltrate cloud credentials, CI/CD secrets, and keys to a domain under its control.
The supply chain incident also reflects a new-found maturation, where the threat actor has consistently infected legitimate, trusted packages with massive user bases to distribute malware to downstream users and widen blast radius, rather than directly publishing malicious typosquats to open-source package repositories.
“The target selection across this campaign focuses on tools with elevated access to automated pipelines: a container scanner (Trivy), an infrastructure scanning tool (KICS), and an AI model routing library (litellm),” Snyk said. “Each of these tools requires broad read access to the systems it operates on (credentials, configs, environment variables) by design.”
To mitigate the threat, developers are advised to perform the following actions –
- Audit Python environments and requirements.txt files for telnyx==4.87.1 or telnyx==4.87.2. If found, replace them with a clean version.
- Assume compromise and rotate all secrets.
- Look for a file named “msbuild.exe” in the Windows Startup folder.
- Block the C2 and exfiltration domain (“83.142.209[.]203”).
The compromise is part of a broader, ongoing campaign undertaken by TeamPCP spanning multiple ecosystems, with the threat actor announcing collaborations with other cybercriminal groups like LAPSUS$ and an emerging ransomware group called Vect to conduct extortion and ransomware operations.
“Supposedly, the group harvested a ton of credentials over the course of the last few attacks, and teaming up allows scaling/accelerating their (ab)use before all the victims completed remediation,” Henrik Plate, head of security research at Endor Labs, told The Hacker news. “Depending on the credentials, ‘downstream threat actors’ will continue according to their focus, e.g., ransomware attacks.”
This also signals a shift where ransomware gangs, which have historically focused on initial access methods like phishing and exploitation of security flaws, are now weaponizing supply chain attacks targeting the open source infrastructure as an entry point for follow-on attacks.
“This puts a spotlight on anything in CI/CD environments that isn’t locked down,” Socket said. “Security scanners, IDE extensions, build tooling, and execution environments are granted broad access because they’re expected to need it. When attackers are targeting the tools themselves, anything running in the pipeline has to be treated as a potential entry point.”

