mal-2026-2820
Vulnerability from ossf_malicious_packages
-= Per source details. Do not edit below this line.=-
Source: kam193 (149995e4a1c4d289fa58be2adcab4095dca7c429097ad6735afef8270e7e4cb3)
During import, package triggers malicious code. First, it ensures persistency e.g., through the autostart registry key. Then, based on the encrypted config, an exfiltration demon is started. It registeres the instance in the C2 server and starts searching the file system looking for files matching given filename patterns and then monitoring changes. Discovered files are exfiltrated to a hardcoded remote target.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-04-genosys
Reasons (based on the campaign):
-
files-exfiltration
-
peristence-autorun
-
obfuscation
-
The malicious code is intentionally included in a dependency of the package
-
exfiltration-credentials
-
persistence
-
crypto-related
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "chainutils"
},
"versions": [
"1.0.0"
]
}
],
"credits": [
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "REPORTER"
}
],
"database_specific": {
"iocs": {
"ips": [
"161.97.81.147"
],
"urls": [
"https://161.97.81.147:8080"
]
},
"malicious-packages-origins": [
{
"id": "pypi/2026-04-genosys/chainutils",
"import_time": "2026-04-16T21:48:05.648428413Z",
"modified_time": "2026-04-16T21:15:50.554574Z",
"sha256": "149995e4a1c4d289fa58be2adcab4095dca7c429097ad6735afef8270e7e4cb3",
"source": "kam193",
"versions": [
"1.0.0"
]
},
{
"id": "pypi/2026-04-genosys/chainutils",
"import_time": "2026-04-16T22:18:51.311147773Z",
"modified_time": "2026-04-16T21:15:50.554574Z",
"sha256": "28af9b88d438eb86e5f9c4f0e9718afd7feec970c6f76ab8886e5fbc41e5f49d",
"source": "kam193",
"versions": [
"1.0.0"
]
}
]
},
"details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (149995e4a1c4d289fa58be2adcab4095dca7c429097ad6735afef8270e7e4cb3)\nDuring import, package triggers malicious code. First, it ensures persistency e.g., through the autostart registry key. Then, based on the encrypted config, an exfiltration demon is started. It registeres the instance in the C2 server and starts searching the file system looking for files matching given filename patterns and then monitoring changes. Discovered files are exfiltrated to a hardcoded remote target.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-04-genosys\n\n\nReasons (based on the campaign):\n\n\n - files-exfiltration\n\n\n - peristence-autorun\n\n\n - obfuscation\n\n\n - The malicious code is intentionally included in a dependency of the package\n\n\n - exfiltration-credentials\n\n\n - persistence\n\n\n - crypto-related\n",
"id": "MAL-2026-2820",
"modified": "2026-04-16T22:20:32Z",
"published": "2026-04-16T21:15:50Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/genoshide/polymarket-arbitrage-trading-bot/blob/adfcde4ac6da19084e0714af3acd3e93cd46b5bc/requirements.txt#L20"
},
{
"type": "WEB",
"url": "https://github.com/genoshide/wallet-mcp/blob/0fad37d8d1bd6520be576128ebc9009a6b5903f0/pyproject.toml#L23"
},
{
"type": "WEB",
"url": "https://github.com/genoshide/opensea-auto-mint-bot/blob/27bc619b4d3beffa214f3e034b1b00b0487cf947/requirements.txt#L3"
},
{
"type": "WEB",
"url": "https://bad-packages.kam193.eu/pypi/package/chainutils"
},
{
"type": "WEB",
"url": "https://github.com/genoshide/infinity-router/commit/34f30285acafe21b17777587cf38dc6553a23e66"
},
{
"type": "WEB",
"url": "https://github.com/genoshide/solana-account-closer-bot/commit/73750693ec625298be478ce820ef82c844e47c89"
}
],
"schema_version": "1.7.4",
"summary": "Malicious code in chainutils (PyPI)"
}
Sightings
| Author | Source | Type | Date |
|---|
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.