mal-2026-14350
Vulnerability from ossf_malicious_packages
-= Per source details. Do not edit below this line.=-
Source: amazon-inspector (7eb0e96b324df04d5ecaf0739dec60dcb2367a26def0e713519c51e24ee790df)
The package advertises a numeric shuffle utility but its sole public function scrambleeer() opens a TCP socket to bax.h4x.tv on port 6363, dup2's the socket over stdin/stdout/stderr, and spawns /bin/bash via pty. Invoking the documented API therefore hands an interactive shell on the caller's host to the operator of bax.h4x.tv. The payload is compressed onto a single semicolon-separated line inside an otherwise innocuous shuffle routine, concealing the backdoor from casual review.
Source: kam193 (52d5b1e99e57b038247cf3b7f86a7514e75275a095ca3f3cf044d80cbe999472)
When using the provided library, the code starts a reverse shell to a hardcoded location.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-08-scrambleeer
Reasons (based on the campaign):
-
The package contains code to create a reverse shell, allowing an attacker to execute any commands on the victim's machine.
-
action-hidden-in-lib-usage
- CWE-506 - The product contains code that appears to be malicious in nature.
{
"affected": [
{
"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/scrambleeer/core.py",
"sha256": "8ac525d0e0ed5c5c23636dab104ddb6e2848a873bfb1c24cfb62061e7c16841b",
"tlsh": "1f01b85bfe13348d77f54dbe60e86012616e1d837778042838684bac2f2365cb9f0b09"
}
],
"package_integrity": [
{
"filename": "scrambleeer-0.1.1-py3-none-any.whl",
"hashes": {
"blake2b_256": "39216151526f4fb69ce19325fc62e397da8275d52b636c09ed0e1f36696f7d5b",
"md5": "31d5d17fa61ccc05f0ff9c36f574bdad",
"sha256": "10d5938322cf598c05c6ae0fd0414eab70fc6fbb2071d6e339cbb95655e782c6"
}
},
{
"filename": "scrambleeer-0.1.1.tar.gz",
"hashes": {
"blake2b_256": "ed63d76ef895a73c0cc331671328def31f47fcfe26ec09925325e3a015d5aa14",
"md5": "04f587595f8e3cc80e5aa29c95b67097",
"sha256": "834ad864bb98a84e53e152fd74e785d41613e7f4b546a2c53776213e35fc23a8"
}
}
]
}
},
"package": {
"ecosystem": "PyPI",
"name": "scrambleeer"
},
"versions": [
"0.1.0",
"0.1.1"
]
}
],
"credits": [
{
"contact": [
"inspector-research@amazon.com"
],
"name": "Amazon Inspector",
"type": "FINDER"
},
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "REPORTER"
}
],
"database_specific": {
"iocs": {
"domains": [
"bax.h4x.tv"
]
},
"malicious-packages-origins": [
{
"id": "pypi/2026-08-scrambleeer/scrambleeer",
"import_time": "2026-08-21T09:48:18.552620104Z",
"modified_time": "2026-08-21T09:31:52.81389Z",
"sha256": "52d5b1e99e57b038247cf3b7f86a7514e75275a095ca3f3cf044d80cbe999472",
"source": "kam193",
"versions": [
"0.1.0",
"0.1.1"
]
},
{
"id": "IN-MAL-2026-018504",
"import_time": "2026-08-21T14:47:43.335651215Z",
"modified_time": "2026-08-21T14:24:50Z",
"sha256": "7eb0e96b324df04d5ecaf0739dec60dcb2367a26def0e713519c51e24ee790df",
"source": "amazon-inspector",
"versions": [
"0.1.1"
]
}
]
},
"details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (7eb0e96b324df04d5ecaf0739dec60dcb2367a26def0e713519c51e24ee790df)\nThe package advertises a numeric shuffle utility but its sole public function scrambleeer() opens a TCP socket to bax.h4x.tv on port 6363, dup2\u0027s the socket over stdin/stdout/stderr, and spawns /bin/bash via pty. Invoking the documented API therefore hands an interactive shell on the caller\u0027s host to the operator of bax.h4x.tv. The payload is compressed onto a single semicolon-separated line inside an otherwise innocuous shuffle routine, concealing the backdoor from casual review.\n\n## Source: kam193 (52d5b1e99e57b038247cf3b7f86a7514e75275a095ca3f3cf044d80cbe999472)\nWhen using the provided library, the code starts a reverse shell to a hardcoded location.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-08-scrambleeer\n\n\nReasons (based on the campaign):\n\n\n - The package contains code to create a reverse shell, allowing an attacker to execute any commands on the victim\u0027s machine.\n\n\n - action-hidden-in-lib-usage\n",
"id": "MAL-2026-14350",
"modified": "2026-08-21T14:49:38.709883766Z",
"published": "2026-08-21T09:31:52Z",
"references": [
{
"type": "WEB",
"url": "https://bad-packages.kam193.eu/pypi/package/scrambleeer"
},
{
"type": "PACKAGE",
"url": "https://pypi.org/project/scrambleeer/0.1.1/"
}
],
"schema_version": "1.7.4",
"summary": "Malicious code in scrambleeer (PyPI)"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.