{"answers":{"affected":"1 open source package ship an affected version, including fromthehotel-poems.","exploited":"There is no known exploitation of MAL-2026-17897 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-17897 is a malicious package in fromthehotel-poems, published on 16 Oct 2026."},"fix_prompt":"MAL-2026-17897 is a malicious package: fromthehotel-poems (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-17897/ (Markdown: https://insights.sbomify.com/MAL-2026-17897/index.md)","id":"MAL-2026-17897","markdown":"https://insights.sbomify.com/MAL-2026-17897/index.md","name":"MAL-2026-17897","record":{"aliases":[],"analysis":null,"analysis_generated_by":null,"assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"The package's documented public API `getdaily()` performs an HTTPS fetch to https://login.fromthehotel.com/api/poems/code, passes the response body to compile() and exec() in the caller's process, and then invokes `get_daily_poem` from the resulting namespace. The README presents getdaily() as a poem-fetching helper, so callers invoking the advertised API unknowingly execute Python source served by that endpoint. The fetched code is unpinned and there is no hash or signature verification, so whoever controls login.fromthehotel.com — or anyone able to tamper with the response — controls arbitrary code execution on every host that calls getdaily(). The exec runs with the caller's full process privileges and has unrestricted access to environment variables, filesystem, and network.\n\nOne of the provided functions hides executing remote code from a newly created domain. During analysis, the remote code did not contain any malicious action. The description and other endpoints clearly suggest it's an attempt to exploit LLM agent like Muse. In one of the hosted instructions, the agent is instructed to download a self-hosted package depending on published code and trigger the code execution action.\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\nCampaign: 2026-10-fromthehotel-poems\n\nReasons (based on the campaign):\n\n - Downloads and executes a remote malicious script.\n\n - llm-threat\n\n - action-hidden-in-lib-usage","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 fromthehotel-poems (PyPI)","id":"MAL-2026-17897","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":"fromthehotel-poems","purl":"pkg:pypi/fromthehotel-poems","source":"MAL-2026-17897"}],"products":null,"published":"2026-10-16","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-17897/"}