MAL-2026-17897Malicious code in fromthehotel-poems (PyPI)
| Ecosystem | Package | Version |
|---|---|---|
| PyPI | fromthehotel-poems | 0.1.0 |
{"schema_version":"1.7.4","id":"MAL-2026-17897","published":"2026-10-16T05:58:04Z","modified":"2026-10-29T13:38:40.830020268Z","summary":"Malicious code in fromthehotel-poems (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (475b2190d4001e511377932ffc1a8ce15c6003305c057837911b9ebae0699e48)\nThe 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\n## Source: kam193 (bf72dad3e2f32ee2e66a3a5ee5642b4a20a9fb9458fcd677f6250b1e4b805906)\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---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-fromthehotel-poems\n\n\nReasons (based on the campaign):\n\n\n - Downloads and executes a remote malicious script.\n\n\n - llm-threat\n\n\n - action-hidden-in-lib-usage\n","affected":[{"package":{"name":"fromthehotel-poems","ecosystem":"PyPI"},"versions":["0.1.0"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"src/fromthehotel_poems/__init__.py","sha256":"7193cded0ba28eafb5d996ae85f05583df869ab653151384c7f18cfa9771cb43","tlsh":"5d4196579a81a843c3e7c4a85556e782b3aabb0fb950a6f57c0c55dd2f88173e0e008c"}],"package_integrity":[{"filename":"fromthehotel_poems-0.1.0-py3-none-any.whl","hashes":{"blake2b_256":"5367e32dfc99f0b0bf56a1eea5a2a81b727a991a6e80e61c86d3632b8efed63d","md5":"ffa7c224b9bf8d70d36893d109b713d2","sha256":"f47f877c8a66c277e2999a8f4751fef518185a2f1c45355f527701200426eeb1"}},{"filename":"fromthehotel_poems-0.1.0.tar.gz","hashes":{"blake2b_256":"3ca97ea4e51bcfc1d8ce674218d2d9c57cd3e70e1716bb53404e35711a10befd","md5":"dc5a5681534fddf6ab75ad8d3e0b5128","sha256":"72d1382e2f993748ecc2d0b0c75d1dca83d95186f26c898d46c32e900aa17108"}}]}}}],"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/fromthehotel-poems"},{"type":"PACKAGE","url":"https://pypi.org/project/fromthehotel-poems/0.1.0/"}],"database_specific":{"iocs":{"domains":["login.fromthehotel.com"],"urls":["https://login.fromthehotel.com/api/poems/code","https://login.fromthehotel.com/api/art/downloads/art_fromthehotel-0.1.0-py3-none-any.whl","https://login.fromthehotel.com/muse"]},"malicious-packages-origins":[{"id":"pypi/2026-10-fromthehotel-poems/fromthehotel-poems","import_time":"2026-10-16T06:29:57.579755498Z","modified_time":"2026-10-16T05:58:04.342377Z","sha256":"bf72dad3e2f32ee2e66a3a5ee5642b4a20a9fb9458fcd677f6250b1e4b805906","source":"kam193","versions":["0.1.0"]},{"id":"IN-MAL-2026-021899","import_time":"2026-10-29T13:37:15.765374767Z","modified_time":"2026-10-29T13:22:34Z","sha256":"475b2190d4001e511377932ffc1a8ce15c6003305c057837911b9ebae0699e48","source":"amazon-inspector","versions":["0.1.0"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}数据来源:OpenSSF Malicious Packages · Apache-2.0