<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Pypi — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/pypi/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 01 May 2026 00:45:31 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/pypi/feed.xml" rel="self" type="application/rss+xml"/><item><title>Compromised PyTorch Lightning Packages on PyPI Steal Developer Credentials</title><link>https://feed.craftedsignal.io/briefs/2026-05-pytorch-lightning-compromise/</link><pubDate>Fri, 01 May 2026 00:45:31 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-pytorch-lightning-compromise/</guid><description>Compromised PyTorch Lightning packages versions 2.6.2 and 2.6.3 on PyPI contain malicious code to steal developer credentials from cloud and developer environments, and republish infected packages.</description><content:encoded><![CDATA[<p>On April 30, 2026, two malicious versions (2.6.2 and 2.6.3) of the widely used <code>pytorch-lightning</code> package were published to the PyPI registry after the publisher account was compromised. These versions contain embedded malicious code designed to steal developer credentials and republish infected versions of repositories to which the stolen tokens have access. The attack is triggered upon importing the package, initiating a background process that silently harvests credentials from a wide array of services, including AWS, Azure, Google Cloud, and GitHub, as well as local environment variables and credential files. Version 2.6.3 was published just 13 minutes after 2.6.2, and was intended to evade detection.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker compromises the publisher account for the <code>pytorch-lightning</code> package on PyPI.</li>
<li>Attacker publishes malicious versions 2.6.2 and 2.6.3 to PyPI.</li>
<li>A modified <code>__init__.py</code> file within the package initiates a background process upon import.</li>
<li>The background process executes silently, without any visible output or indication of compromise to the user.</li>
<li>The malicious package downloads a runtime (Bun) from GitHub.</li>
<li>The package executes a large, obfuscated JavaScript file, targeting AWS, Azure, Google Cloud, GitHub, and local credential stores.</li>
<li>Stolen credentials, including cloud provider keys, API tokens, and secrets, are exfiltrated to attacker-controlled infrastructure.</li>
<li>The malware attempts to download and execute a second-stage payload from attacker-controlled infrastructure, expanding the scope of the attack.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Organizations that downloaded and used versions 2.6.2 or 2.6.3 of the <code>pytorch-lightning</code> package are at high risk of compromise. The malicious package is designed to steal a wide range of credentials, including cloud provider keys, API tokens, and secrets stored in environment variables. This can lead to unauthorized access to sensitive data and systems, potentially resulting in data breaches, financial losses, and reputational damage. The malware&rsquo;s ability to download and execute secondary payloads further increases the potential impact.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately remove versions 2.6.2 and 2.6.3 of the <code>lightning</code> package from all systems where they are installed (see overview).</li>
<li>Audit systems for unauthorized processes and review outbound network connections to detect potential compromises (see overview).</li>
<li>Rotate all cloud provider keys (AWS, Azure, GCP), API tokens (GitHub, CI/CD systems), and secrets stored in environment variables to prevent further unauthorized access (see Attack Chain).</li>
<li>Implement the <code>Detect Suspicious PyPI Package Installation</code> Sigma rule to identify potential malicious packages being installed in the future (see rules).</li>
<li>Implement the <code>Detect Credential Harvesting via Bun</code> Sigma rule to catch execution of the malicious JavaScript payload (see rules).</li>
<li>Pin dependencies to known-good versions and verify package integrity before use to prevent future supply chain attacks (see references).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>supply-chain</category><category>pypi</category><category>credential-theft</category><category>malware</category></item><item><title>Compromised Telnyx PyPI Package Distributes Credential-Stealing Malware</title><link>https://feed.craftedsignal.io/briefs/2026-03-telnyx-pypi-compromise/</link><pubDate>Mon, 30 Mar 2026 19:15:30 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-telnyx-pypi-compromise/</guid><description>A threat actor compromised the PyPI package `telnyx`, uploading malicious versions 4.87.1 and 4.87.2 containing credential-stealing malware that exfiltrates data to a C2 server.</description><content:encoded><![CDATA[<p>On March 27, 2026, the <code>telnyx</code> Python package on PyPI was compromised by TeamPCP, resulting in the distribution of malicious versions 4.87.1 and 4.87.2. The attacker, having gained unauthorized access to PyPI credentials, bypassed the legitimate GitHub release pipeline to upload these compromised packages directly. These versions contain malware designed to harvest sensitive credentials from infected systems and exfiltrate them to a command-and-control (C2) server. The malicious packages were available for approximately 6 hours before being quarantined by PyPI. Version 4.87.1 contained a typo preventing execution, making 4.87.2 the fully functional malicious version. This incident highlights the risk of supply chain attacks targeting open-source package repositories, potentially affecting any system that installed the <code>telnyx</code> package during the exposure window.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains unauthorized access to PyPI credentials for the <code>telnyx</code> package.</li>
<li>The attacker uploads malicious versions 4.87.1 and 4.87.2 of the <code>telnyx</code> package to PyPI, bypassing the legitimate GitHub repository.</li>
<li>When a user installs or upgrades to the malicious <code>telnyx</code> package, the injected malware within <code>telnyx/_client.py</code> executes upon importing the library (<code>import telnyx</code>).</li>
<li>On Linux/macOS systems, the malware spawns a detached subprocess to ensure persistence and downloads a payload hidden inside a WAV audio file (<code>ringtone.wav</code>) from the C2 server at <code>http://83.142.209.203:8080/</code>.</li>
<li>The downloaded payload harvests sensitive credentials, including SSH keys, AWS/GCP/Azure credentials, Kubernetes tokens, Docker configurations, .env files, database credentials, and crypto wallets.</li>
<li>If Kubernetes access is detected, the malware deploys privileged pods to all nodes for lateral movement within the Kubernetes cluster.</li>
<li>The collected data is encrypted using AES-256-CBC and RSA-4096, then exfiltrated to the C2 server, identified by the header <code>X-Filename: tpcp.tar.gz</code>.</li>
<li>On Windows, a binary payload hidden in <code>hangup.wav</code> is downloaded from <code>http://83.142.209.203:8080/</code>, dropped as <code>msbuild.exe</code> in the Startup folder for persistence, and executed with a hidden window, polling the endpoint <code>http://83.142.209.203:8080/raw</code>.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The compromise of the <code>telnyx</code> PyPI package poses a significant risk to developers and organizations that use the library.  Successful exploitation leads to the theft of sensitive credentials, potentially granting the attacker unauthorized access to critical infrastructure, cloud resources, and sensitive data. TeamPCP&rsquo;s previous campaign against LiteLLM and the similarities in this attack suggest a pattern of targeting open-source projects to infiltrate developer environments and steal secrets.  The impact includes potential data breaches, financial losses, and reputational damage. The exposure window was approximately 6 hours during which vulnerable versions were available.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately check for the presence of malicious <code>telnyx</code> package versions (4.87.1 or 4.87.2) in your environment using the provided commands and uninstall them (<code>pip uninstall telnyx</code>).</li>
<li>Due to the credential-stealing nature of the malware, rotate all potentially exposed secrets, including SSH keys, cloud provider credentials (AWS, GCP, Azure), Kubernetes tokens, Docker registry credentials, database passwords, API keys in .env files, and Telnyx API keys.</li>
<li>Check for persistence mechanisms used by the malware, specifically the <code>audiomon</code> service and associated files on Linux/macOS, and the <code>msbuild.exe</code> executable in the Startup folder on Windows, based on the file paths provided in the &ldquo;Filesystem&rdquo; section.</li>
<li>Block the identified C2 IP address (<code>83.142.209.203</code>) and payload URLs (<code>http://83.142.209.203:8080/ringtone.wav</code>, <code>http://83.142.209.203:8080/hangup.wav</code>, <code>http://83.142.209.203:8080/raw</code>) at your network perimeter.</li>
<li>Deploy the following Sigma rule to detect the creation of <code>msbuild.exe</code> in the Startup folder.</li>
<li>Pin the <code>telnyx</code> package to the safe version 4.87.0 in your project dependencies to prevent future installations of compromised versions.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category><category>supply-chain</category><category>pypi</category><category>credential-theft</category><category>teampcp</category></item><item><title>TeamPCP Backdoors Telnyx PyPI Package with Steganographic Malware</title><link>https://feed.craftedsignal.io/briefs/2026-03-teampcp-telnyx/</link><pubDate>Sat, 28 Mar 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-teampcp-telnyx/</guid><description>The TeamPCP threat actor compromised the Telnyx PyPI package, injecting credential-stealing malware hidden within WAV audio files to target Linux, macOS, and Windows systems.</description><content:encoded><![CDATA[<p>On March 27, 2026, the Telnyx package on the Python Package Index (PyPI) was compromised by the threat actor TeamPCP. Malicious versions 4.87.1 and 4.87.2 were uploaded, containing credential-stealing malware concealed within WAV audio files. This supply-chain attack targeted developers using the Telnyx Python SDK, a popular package with over 740,000 monthly downloads, used for integrating communication services into applications. The malicious code resides in the <code>telnyx/_client.py</code> file and executes upon import. The compromise is believed to have originated from stolen credentials for the publishing account on the PyPI registry. TeamPCP has been linked to previous supply-chain attacks and wiper campaigns against Iranian systems, highlighting the group&rsquo;s focus on disrupting software development and infrastructure.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>TeamPCP gains unauthorized access to the Telnyx PyPI account, likely through credential theft.</li>
<li>Malicious versions 4.87.1 and 4.87.2 of the Telnyx package are published to PyPI.</li>
<li>When a developer installs the compromised Telnyx package, the <code>telnyx/_client.py</code> file is executed upon import.</li>
<li>On Linux and macOS, a detached process is spawned to download a second-stage payload disguised as a WAV audio file (<code>ringtone.wav</code>) from a remote command-and-control (C2) server.</li>
<li>Steganography is used to hide malicious code within the WAV file&rsquo;s data frames.</li>
<li>The embedded payload is extracted using an XOR-based decryption routine and executed in memory.</li>
<li>The malware harvests sensitive data, including SSH keys, credentials, cloud tokens, cryptocurrency wallets, and environment variables.</li>
<li>If Kubernetes is present, the malware enumerates cluster secrets and deploys privileged pods to access underlying host systems. On Windows, a different WAV file (<code>hangup.wav</code>) is downloaded that extracts and saves an executable named <code>msbuild.exe</code> to the startup folder for persistence.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This supply chain attack could result in widespread compromise of systems utilizing the Telnyx Python SDK. Over 740,000 monthly downloads indicate a large potential victim pool. Stolen credentials and secrets can lead to unauthorized access to cloud resources, sensitive data exfiltration, and further lateral movement within compromised networks. For systems running Kubernetes, the attacker could gain control over the entire cluster, leading to significant disruption and data loss. Developers who installed the malicious packages are advised to consider their systems fully compromised and rotate all secrets as soon as possible.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Identify and remove Telnyx versions 4.87.1 and 4.87.2 from all environments, reverting to version 4.87.0 as recommended by the vendor.</li>
<li>Monitor network connections for processes spawned by Python interpreters (<code>python.exe</code>, <code>python3</code>) attempting to download files with the <code>.wav</code> extension, using the &ldquo;Detect Suspicious Python WAV Download&rdquo; Sigma rule provided below.</li>
<li>Implement stricter controls and multi-factor authentication for PyPI accounts used to publish packages to prevent similar supply chain attacks.</li>
<li>Deploy the &ldquo;Detect msbuild.exe in Startup Folder&rdquo; Sigma rule to identify potential persistence attempts on Windows systems.</li>
<li>Rotate all secrets and credentials on any system that has imported the malicious Telnyx package.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category><category>supply chain attack</category><category>pypi</category><category>credential theft</category><category>steganography</category></item><item><title>Compromised Litellm PyPI Package Versions</title><link>https://feed.craftedsignal.io/briefs/2024-01-litellm-compromise/</link><pubDate>Tue, 24 Mar 2026 12:12:58 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-litellm-compromise/</guid><description>Versions 1.82.7 and 1.82.8 of the Litellm package on PyPI were compromised in a supply chain attack, potentially impacting numerous users, with recommendations to avoid updating to these versions.</description><content:encoded><![CDATA[<p>On March 24, 2026, versions 1.82.7 and 1.82.8 of the Litellm package, available on the Python Package Index (PyPI), were reported as compromised. This supply chain attack potentially affects thousands of users who may have updated to the malicious versions. The compromised packages could contain malicious code injected by an unknown threat actor. Users are advised to avoid updating to these versions and investigate their systems for potential compromise. The initial report came from a Reddit post and links to a blog post for further details.</p>
<h2 id="attack-chain">Attack Chain</h2>
<p>While the specifics of the attack chain are not fully detailed in the source, a typical supply chain attack targeting PyPI packages involves the following steps:</p>
<ol>
<li><strong>Package Compromise:</strong> Threat actor gains unauthorized access to the Litellm PyPI account or the build environment.</li>
<li><strong>Malicious Code Injection:</strong> The attacker injects malicious code into the setup.py or other relevant files within the Litellm package. This malicious code could be designed to execute upon installation.</li>
<li><strong>Version Release:</strong> The compromised versions, 1.82.7 and 1.82.8, are released to PyPI, making them available for users to download and install.</li>
<li><strong>Package Installation:</strong> Users unknowingly download and install the compromised Litellm package using pip, triggering the execution of the injected malicious code.</li>
<li><strong>Initial Access:</strong> The malicious code may establish a reverse shell, download additional payloads, or perform other actions to gain initial access to the victim&rsquo;s system.</li>
<li><strong>Persistence:</strong> The attacker may establish persistence on the compromised system through various techniques, such as creating scheduled tasks or modifying startup scripts.</li>
<li><strong>Data Exfiltration/Malware Deployment:</strong> Depending on the attacker&rsquo;s objective, they may exfiltrate sensitive data, deploy ransomware, or perform other malicious activities.</li>
<li><strong>Lateral Movement:</strong> The attacker may attempt to move laterally to other systems within the compromised network, escalating their access and expanding their reach.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The compromise of Litellm versions 1.82.7 and 1.82.8 could lead to widespread compromise of systems that use the package. The injected malicious code could enable attackers to steal sensitive information, deploy malware, or gain unauthorized access to victim systems. The number of affected users is estimated to be in the thousands. This incident highlights the risks associated with supply chain attacks targeting open-source software repositories.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately stop updating to Litellm versions 1.82.7 and 1.82.8.</li>
<li>Revert to a known-good version of Litellm prior to 1.82.7.</li>
<li>Analyze network connections for suspicious traffic originating from systems where the compromised Litellm versions were installed, using network connection logs.</li>
<li>Monitor process creations for suspicious processes spawned from Python executables where Litellm is installed, using process creation logs and the Sigma rules provided below.</li>
<li>Investigate systems where Litellm 1.82.7 or 1.82.8 were installed for any signs of compromise.</li>
<li>Review the blog post at <a href="https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/">https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/</a> for further details on the compromise.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>supply-chain</category><category>pypi</category><category>litellm</category><category>compromise</category></item></channel></rss>