A typosquatted PyPI package, sympy-dev, impersonated the SymPy mathematics library and delivered a staged Linux payload through backdoored polynomial-code paths. Versions 1.2.3 through 1.2.6 fetched remote JSON configuration and ELF binaries from 63.250.56.54 and 185.167.99.46, then used memfd_create and /proc/self/fd/<fd> to execute payloads from memory without a conventional on-disk executable. Recovered second-stage payloads were UPX-packed XMRig miners communicating over Stratum TLS, though the loader could run arbitrary code with the Python process's privileges.
The campaign illustrates a broader Linux evasion pattern in which attackers execute ELF binaries, scripts, or kernel modules through anonymous memory-backed descriptors, deleted files, or unnamed temporary files. Related techniques include combining O_TMPFILE with execveat(AT_EMPTY_PATH) to run an ELF from an unnamed file. Defenders should prioritize behavioral telemetry and correlations—including memfd_create, execution through /proc/self/fd, interpreter process lineage, self-deletion, and init_module or finit_module calls—rather than relying solely on filesystem artifacts; Elastic Defend 9.4.0 adds relevant telemetry on supported Linux kernels.

Trace attribution and downstream blast radius.
5 events from the most recent confirmed update back to the earliest known activity.
Four malicious releases of the typosquatting sympy-dev package, versions 1.2.3 through 1.2.6, were published under the maintainer name Nanit. The package copied SymPy branding, surpassed 1,000 downloads on its first day, and embedded backdoor logic in SymPy polynomial code paths.
A post shared by digicat highlighted execution of Linux ELF binaries from an unnamed O_TMPFILE temporary file using execveat with AT_EMPTY_PATH, avoiding a conventional executable filesystem path.
Elastic Security 9.4.0 added Elastic Defend process-event visibility for memfd_create on supported Linux systems and records init_module and finit_module kernel-module loads as load_module events. The telemetry supports behavioral detection of descriptor-backed execution and in-memory module loading.
Socket reported that sympy-dev remained available on PyPI and petitioned the PyPI security team to remove the malicious package and suspend the associated publisher account.
Analysis found that sympy-dev retrieved configuration and ELF payloads from actor-controlled infrastructure and executed the payload through memfd_create and /proc/self/fd. Recovered UPX-packed second-stage binaries were identified as XMRig cryptominers, while version 1.2.6 added a second execution trigger using separate infrastructure.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
See attribution and downstream blast radius, and whether this package or vendor reaches your builds.
4 references tracked. Mallory keeps watching after this page renders.
infosec.pub
Open sourceelastic.co
Open sourcetrendmicro.com
Open sourcesocket.dev
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.