qowa (PyPI) · Malicious Code
Affects qowaSource GCVE Database
Malicious package : remove qowa and rotate any secrets on hosts that installed it.
Data as of 26 Oct 2026, 15:55 UTC
Malicious package
Published to PyPI · OSV MAL-2026-18218
What to do
Remove qowa from every project, lockfile and image that pulls it in. Treat any host that installed it as compromised: rotate the credentials, tokens and keys it could read, from a clean machine.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PyPIqowa | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
--- _-= 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<token>/...) 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