{"answers":{"affected":"1 open source package ship an affected version, including textwrap-toolkit-stager.","exploited":"There is no known exploitation of MAL-2026-5722 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-5722 is a malicious package in textwrap-toolkit-stager, published on 12 Jun 2026."},"fix_prompt":"MAL-2026-5722 is a malicious package: textwrap-toolkit-stager (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-5722/ (Markdown: https://insights.sbomify.com/MAL-2026-5722/index.md)","id":"MAL-2026-5722","markdown":"https://insights.sbomify.com/MAL-2026-5722/index.md","name":"MAL-2026-5722","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 `import textwrap_toolkit_stager`, the package's `__init__.py` unconditionally fetches Python source from `http://194.5.152.9:8080/hacks/textwrap-toolkit/textwrap_toolkit/__init__.py` via `urllib.request.urlopen` and passes the response bytes directly to `exec(code_bytes, {\"__name__\": \"__main__\"})`. The fetch uses a bare IP over plaintext HTTP, with no version pinning, no hash verification, and errors silently swallowed. Any process that imports this package executes attacker-controlled Python code from 194.5.152.9 with the full privileges of the importing user. The package's advertised purpose ('lightweight utility for advanced text wrapping') has no implementation in the shipped code — the module's sole behavior is the remote stager. The package name itself self-describes the intent ('stager').\n\nDuring import, package downloads and executes an obfuscated script. The code then adds a new authorized SSH key and reports back the IP of the current environment. After that, the code also attempts to exfiltrate cryptocurrency wallet data\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\nCampaign: 2026-06-textwrap-toolkit-stager\n\nReasons (based on the campaign):\n\n - backdoor\n\n - obfuscation\n\n - Downloads and executes a remote malicious script.\n\n - crypto-related\n\n - exfiltration-crypto","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 textwrap-toolkit-stager (PyPI)","id":"MAL-2026-5722","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":"textwrap-toolkit-stager","purl":"pkg:pypi/textwrap-toolkit-stager","source":"MAL-2026-5722"}],"products":null,"published":"2026-06-12","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-5722/"}