MAL-2026-15811
Vulnerability from ossf_malicious_packages
-= Per source details. Do not edit below this line.=-
Source: amazon-inspector (740c9125f18d68081f742b3316d07c54727fb4aab5555a398c0c04e31ba9bb54)
Importing syswatch starts a background thread that, on Windows, fetches a JSON manifest from https://github-repo.up.railway.app/vbv_a8F3kL92xQ/manifest.json, downloads the executable referenced by manifest.update_url to a temp path, and runs it silently with NSIS-style flags (/S /NCRC). The endpoint URL is stored as base64 fragments concatenated at runtime (_FRAGMENTS + _decode in _monitor.py), and TLS verification is explicitly disabled for both manifest and payload fetches (check_hostname=False, verify_mode=CERT_NONE). After execution the code launches a ServiceHelperUtility.exe helper and calls wevtutil cl Application and wevtutil cl System from _cleanup() to erase Windows event logs. The host github-repo.up.railway.app is a Railway-hosted lookalike of GitHub, not a GitHub-owned domain. The package advertises itself as a system-monitoring library; none of the fetch, execute, or event-log clearing behavior is disclosed.
Source: kam193 (e01fd8b85a9d6bdfbefb70261f49496f8a6c224d98da6400ef0ca06f18404d27)
During import, malicious code is started in the background. On Windows, it downloads and installs a malicious executable, and disguises it as a system utility. After installation, the code attempts to cover its tracks by cleaning logs and removing downloaded files. The installed executable is a heavily obfuscated malware with multiple sandbox evasion techniques, finally running an infostealer identifying itself as "Snow Stealer". It collects at least browser data and modifies cryptowallet applications.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-08-envprovision
Reasons (based on the campaign):
-
infostealer
-
Downloads and executes a remote executable.
-
obfuscation
-
action-hidden-in-lib-usage
-
exfiltration-browser-data
-
The package contains code to detect if it is running in a sandbox environment.
-
exfiltration-crypto
-
malware
-
covering-tracks
-
persistence
- 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/syswatch/__init__.py",
"sha256": "41c014b825f35800e609f6ca971c149ce73ddfc96ab5ba813268c63b199dcd68",
"tlsh": "20014c73bc47547b04f8b86d205892b0e73b15173e118919b968f7386f3545065a623e"
},
{
"path": "src/syswatch/_monitor.py",
"sha256": "6c974b8f00d0606e4e0a2d1c9caea1ec2703196169c1cdb8ee514ce948075e0b",
"tlsh": "f16112ba4c8fe0528172920d5c198416d32782571faa0415bcec47275ff9e36acfc9be"
},
{
"path": "src/syswatch/_process.py",
"sha256": "d2a869a9f845973a1ce17772522cb076ee1a5000f20be996ba3026db4131c9da",
"tlsh": "34210661ed1f50019ab2806f65269492dadb0b43d786487778fdca707f3a071d1a1d2f"
}
],
"package_integrity": [
{
"filename": "syswatch-1.0.0-py3-none-any.whl",
"hashes": {
"blake2b_256": "9943467f81a8ac9db54e16e5e19d9a7c58f9d9b90b8cf0b32511dfd7ed854f73",
"md5": "8409f7478e1f7026425de1702363694a",
"sha256": "003525e4be1a7dc9bb18be3fa7e58323ab713ac698e154e48810208aa9293652"
}
},
{
"filename": "syswatch-1.0.0.tar.gz",
"hashes": {
"blake2b_256": "f76b0bf6a6de42bc0ffbf017812943766c19e86390644da2fbae82dc60a950e7",
"md5": "8d4ad1127a7b0222d254d8c1f5eda866",
"sha256": "2cbc5bf99eb4ed68ef6897081bf7be95307acdbc10c9d669fcfaa9c41b3591af"
}
}
]
}
},
"package": {
"ecosystem": "PyPI",
"name": "syswatch"
},
"versions": [
"1.0.0"
]
}
],
"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"
},
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "ANALYST"
}
],
"database_specific": {
"iocs": {
"domains": [
"env-metadata.up.railway.app",
"ivahook.online"
],
"urls": [
"https://env-metadata.up.railway.app/vbv_a8F3kL92xQ/manifest.json",
"https://env-metadata.up.railway.app/vbv_a8F3kL92xQ/appsetupw.exe",
"https://energy-total.up.railway.app/vbv_a8F3kL92xQ/manifest.json"
]
},
"malicious-packages-origins": [
{
"id": "pypi/2026-08-envprovision/syswatch",
"import_time": "2026-09-01T21:38:05.941832763Z",
"modified_time": "2026-09-01T21:27:36.579439Z",
"sha256": "863ff540be3399380239a471217fc84175f06c66bedc0fc0f89901fbaae46a38",
"source": "kam193",
"versions": [
"1.0.0"
]
},
{
"id": "pypi/2026-08-envprovision/syswatch",
"import_time": "2026-09-01T22:15:54.378683915Z",
"modified_time": "2026-09-01T21:27:36.579439Z",
"sha256": "e01fd8b85a9d6bdfbefb70261f49496f8a6c224d98da6400ef0ca06f18404d27",
"source": "kam193",
"versions": [
"1.0.0"
]
},
{
"id": "IN-MAL-2026-019321",
"import_time": "2026-09-02T02:44:33.373128806Z",
"modified_time": "2026-09-02T02:19:16Z",
"sha256": "740c9125f18d68081f742b3316d07c54727fb4aab5555a398c0c04e31ba9bb54",
"source": "amazon-inspector",
"versions": [
"1.0.0"
]
}
]
},
"details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (740c9125f18d68081f742b3316d07c54727fb4aab5555a398c0c04e31ba9bb54)\nImporting syswatch starts a background thread that, on Windows, fetches a JSON manifest from https://github-repo.up.railway.app/vbv_a8F3kL92xQ/manifest.json, downloads the executable referenced by manifest.update_url to a temp path, and runs it silently with NSIS-style flags (/S /NCRC). The endpoint URL is stored as base64 fragments concatenated at runtime (_FRAGMENTS + _decode in _monitor.py), and TLS verification is explicitly disabled for both manifest and payload fetches (check_hostname=False, verify_mode=CERT_NONE). After execution the code launches a ServiceHelperUtility.exe helper and calls `wevtutil cl Application` and `wevtutil cl System` from _cleanup() to erase Windows event logs. The host github-repo.up.railway.app is a Railway-hosted lookalike of GitHub, not a GitHub-owned domain. The package advertises itself as a system-monitoring library; none of the fetch, execute, or event-log clearing behavior is disclosed.\n\n## Source: kam193 (e01fd8b85a9d6bdfbefb70261f49496f8a6c224d98da6400ef0ca06f18404d27)\nDuring import, malicious code is started in the background. On Windows, it downloads and installs a malicious executable, and disguises it as a system utility. After installation, the code attempts to cover its tracks by cleaning logs and removing downloaded files. The installed executable is a heavily obfuscated malware with multiple sandbox evasion techniques, finally running an infostealer identifying itself as \"Snow Stealer\". It collects at least browser data and modifies cryptowallet applications.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-08-envprovision\n\n\nReasons (based on the campaign):\n\n\n - infostealer\n\n\n - Downloads and executes a remote executable.\n\n\n - obfuscation\n\n\n - action-hidden-in-lib-usage\n\n\n - exfiltration-browser-data\n\n\n - The package contains code to detect if it is running in a sandbox environment.\n\n\n - exfiltration-crypto\n\n\n - malware\n\n\n - covering-tracks\n\n\n - persistence\n",
"id": "MAL-2026-15811",
"modified": "2026-09-02T02:46:18.215867515Z",
"published": "2026-09-01T21:27:36Z",
"references": [
{
"type": "EVIDENCE",
"url": "https://www.virustotal.com/gui/file/d49fa53949d9350ee34c4e1279ee72e6fafc294ae338825f66c33c7f188b878c/details"
},
{
"type": "WEB",
"url": "https://www.virustotal.com/gui/file-analysis/MGQ3ZGViMWFhYzU0YjY3ODllZWI1ZGJkMDY4Nzk3NGM6MTc4NzUxODgyOQ=="
},
{
"type": "WEB",
"url": "https://bad-packages.kam193.eu/pypi/package/syswatch"
},
{
"type": "PACKAGE",
"url": "https://pypi.org/project/syswatch/1.0.0/"
}
],
"schema_version": "1.7.4",
"summary": "Malicious code in syswatch (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.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.