Malicious code in qowa (PyPI)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (650ce7eeda9c50d942912db7495f8108fcc3b8447ff9bae79a1bd1b105c1b0d5) src/qowa/__init__.py contains calls to socket.gethostname() at lines 30, 52, and 247 together with hardcoded Telegram Bot API endpoints (api.telegram.org/bot/...) at lines 117 and 135. The code reads installer host identity and transmits it to an attacker-controlled Telegram bot channel, a known pattern for host-reconnaissance exfiltration using Telegram as a C2/collector. The embedded bot token encodes the destination chat under the operator's control, so installing or importing this package leaks the installer's hostname (and any other collected context) off-host to a third party. The package has no documented purpose that would legitimize Telegram-bot delivery of hostname data. ## Source: kam193 (67fe6a2b86c60720a8e3cc1002c183bd751ec1896d3be13a44b5ce7d1623afbd) The package provides a C2 server and agent with pre-filed credentials, disguised as a generic utility. --- Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers. Campaign: 2026-10-qowa Reasons (based on the campaign): - rat - spyware-like - target:android - The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine. - uses-telegram-bot - files-exfiltration
- Products
- qowa
- Affected versions
- 0.1.0
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 10:35 UTC · Revision 1
Source evidence
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (650ce7eeda9c50d942912db7495f8108fcc3b8447ff9bae79a1bd1b105c1b0d5) src/qowa/__init__.py contains calls to socket.gethostname() at lines 30, 52, and 247 together with hardcoded Telegram Bot API endpoints (api.telegram.org/bot/...) at lines 117 and 135. The code reads installer host identity and transmits it to an attacker-controlled Telegram bot channel, a known pattern for host-reconnaissance exfiltration using Telegram as a C2/collector. The embedded bot token encodes the destination chat under the operator's control, so installing or importing this package leaks the installer's hostname (and any other collected context) off-host to a third party. The package has no documented purpose that would legitimize Telegram-bot delivery of hostname data. ## Source: kam193 (67fe6a2b86c60720a8e3cc1002c183bd751ec1896d3be13a44b5ce7d1623afbd) The package provides a C2 server and agent with pre-filed credentials, disguised as a generic utility. --- Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers. Campaign: 2026-10-qowa Reasons (based on the campaign): - rat - spyware-like - target:android - The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine. - uses-telegram-bot - files-exfiltration
osv:MAL-2026-18218
qowa
Fixed versions: Not specified
Complete source record
{
"id": "550a84a3f45db076d81238312c450c4f5eccc2be15a759dd971773c69aae4afc",
"url": "https://osv.dev/vulnerability/MAL-2026-18218",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Malicious code in qowa (PyPI)",
"summary": "--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (650ce7eeda9c50d942912db7495f8108fcc3b8447ff9bae79a1bd1b105c1b0d5) src/qowa/__init__.py contains calls to socket.gethostname() at lines 30, 52, and 247 together with hardcoded Telegram Bot API endpoints (api.telegram.org/bot/...) at lines 117 and 135. The code reads installer host identity and transmits it to an attacker-controlled Telegram bot channel, a known pattern for host-reconnaissance exfiltration using Telegram as a C2/collector. The embedded bot token encodes the destination chat under the operator's control, so installing or importing this package leaks the installer's hostname (and any other collected context) off-host to a third party. The package has no documented purpose that would legitimize Telegram-bot delivery of hostname data. ## Source: kam193 (67fe6a2b86c60720a8e3cc1002c183bd751ec1896d3be13a44b5ce7d1623afbd) The package provides a C2 server and agent with pre-filed credentials, disguised as a generic utility. --- Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers. Campaign: 2026-10-qowa Reasons (based on the campaign): - rat - spyware-like - target:android - The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine. - uses-telegram-bot - files-exfiltration",
"evidence": "osv:MAL-2026-18218",
"products": [
{
"name": {
"value": "qowa",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.1.0",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "unknown",
"structured": {
"id": "MAL-2026-18218",
"aliases": [
"MAL-2026-18218"
],
"affected": [
{
"package": {
"name": "qowa",
"purl": "pkg:pypi/qowa",
"ecosystem": "PyPI"
},
"versions": [
"0.1.0"
],
"database_specific": {
"cwes": [
{
"name": "Embedded Malicious Code",
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature."
}
],
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/qowa/MAL-2026-18218.json",
"indicators": {
"evidence_files": [
{
"path": "src/qowa/__init__.py",
"tlsh": "dc42945a9d567a22d3a7d26c2ca1d252f32aad1354062834becc53d8bf4c075c2fd6ac",
"sha256": "e780d6429bb306c93e0396d55260557adc08fee96f1582dcab72e5994688f44d"
}
],
"package_integrity": [
{
"hashes": {
"md5": "7905b8465cf6db7a5a9a7024214ad0b8",
"sha256": "50416008e3b52c84097352effd97d20c8de2d51f5005b7da6696c52593f07544",
"blake2b_256": "78511cca9145589616a7421817a0d7ca2456afc7d54e45f8954b1e3cfecb0cc1"
},
"filename": "qowa-0.1.0-py3-none-any.whl"
},
{
"hashes": {
"md5": "b55f6b40f12fbe9345fa54f3aec93b20",
"sha256": "9db92cad9c17a448b86cfe4a81b5ed292083e3cb41dd8b075355eb8858d6af89",
"blake2b_256": "2dd0339c8d8480f9fc63d28c65aab91dd727434d101c56154e86e334b6015cf6"
},
"filename": "qowa-0.1.0.tar.gz"
}
]
}
}
}
],
"modified": "2026-10-26T06:45:16.063566696Z",
"provider": "osv",
"references": [
"https://bad-packages.kam193.eu/pypi/package/qowa",
"https://pypi.org/project/qowa/0.1.0/"
],
"provider_metadata": {
"malicious-packages-origins": [
{
"id": "pypi/2026-10-qowa/qowa",
"sha256": "67fe6a2b86c60720a8e3cc1002c183bd751ec1896d3be13a44b5ce7d1623afbd",
"source": "kam193",
"versions": [
"0.1.0"
],
"import_time": "2026-10-23T08:47:28.5113769Z",
"modified_time": "2026-10-23T08:21:14.1804Z"
},
{
"id": "IN-MAL-2026-021781",
"sha256": "650ce7eeda9c50d942912db7495f8108fcc3b8447ff9bae79a1bd1b105c1b0d5",
"source": "amazon-inspector",
"versions": [
"0.1.0"
],
"import_time": "2026-10-26T06:39:42.569855281Z",
"modified_time": "2026-10-26T06:32:02Z"
}
]
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 446740,
"published_at": "2026-10-23T08:21:14+00:00"
}