In a sophisticated new supply chain attack, threat actors have leveraged both Python’s PyPI and JavaScript’s NPM ecosystems to target developers and administrators on Windows and Linux platforms.
Discovered by researcher Ariel Harush, this campaign deploys typo-squatting and cross ecosystem name confusion techniques that not only trick developers but also bypass many conventional security controls.
At the heart of the campaign are malicious packages uploaded to PyPI, each bearing names nearly identical to legitimate and widely-used libraries: Python’s colorama and JavaScript’s colorizr.
But what sets this campaign apart is the attackers’ creative ploy of using NPM-based naming conventions for fake Python packages, blurring the lines of trust between ecosystems and maximizing the chances of accidental downloads.
Example of Typo-Squatting:
| Real Package (PyPI) | Malicious Variant |
|---|---|
| colorama | coloramapkgsw |
| coloramashowtemp | |
| coloraiz (Linux) |
Once installed, these packages execute platform-specific payloads designed to steal sensitive information and establish persistent remote access.
Upon execution on Windows systems, malicious packages fetch executable payloads housed on GitHub (github.com/s7bhme), and immediately set out to establish persistence and evade security solutions. The process includes:
Task Scheduler Creation Example (Pseudo):
powershell$action = New-ScheduledTaskAction -Execute 'C:\path\to\payload.exe'
Register-ScheduledTask -TaskName "ColoramaUpdate" -Action $action -Trigger (New-ScheduledTaskTrigger -AtStartup)
"C:\Program Files\Windows Defender\MpCmdRun.exe" -RemoveDefinitions -All powershell.exe Set-MpPreference -DisableIOAVProtection $trueLinux Payloads: Advanced Backdoors and Data Exfiltration
On Linux, the Colorizator and coloraiz packages deliver base64-encoded payloads within src/colorizator/__init__.py. Once decoded, these initiate a multi-stage infection process:
/tmp/pub.pem for encrypting output.gsocket[.]io/y to install gs-netcat, enabling encrypted reverse shells.Sample Python Implant (Simplified):
pythonimport base64, subprocess
payload = "c2NyaXB0IGNvbnRlbnQgdG8gZG93bmxvYWQK..."
exec(base64.b64decode(payload))
The bash script fetched is a potent stealth toolkit—it masquerades as kernel processes, alters startup scripts (systemd, crontab, rc.local), and connects to external C2s via gs-netcat, sometimes dropping notifications to Discord or Telegram webhooks.
Key IoCs:
d30c78c64985...5bd429252e4612daef5255eac4...371b9d18df3b47frick_grimes, morty_smith, reven, m5tl, dsssThis attack campaign highlights the increasing creativity and technical skill involved in open-source software supply chain threats. By leveraging typo-squatting across ecosystems and deploying advanced, multi-platform payloads, attackers have raised the bar for automated detection and developer vigilance. While the identified packages have been removed, organizations must:
PortSwigger has leveled up Burp Suite's scanning arsenal with the latest Active Scan++ extension, version…
Unit 42 researchers at Palo Alto Networks exposed serious flaws in the Model Context Protocol…
Polish police have arrested three Ukrainian men traveling through Europe and seized a cache of…
Google has launched its most significant Chrome update ever, embedding Gemini AI across the browser…
Attackers exploit this vulnerability through the router's web interface components, specifically "cgibin" and "hnap_main," by…
Security researchers have uncovered a severe flaw in Apache Tika, a popular open-source toolkit for…