NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Part of a larger attack: 2026-09-donutautosellsrc published 9 malicious packages. See the full campaign →
Malicious package

coinscanPyPI

Advisory published Updated

coinscan is a confirmed malicious PyPI package (MAL-2026-17197) that steals credentials and exfiltrates sensitive data (malicious version 0.1.0). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in coinscan (PyPI)

MAL-2026-17197
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall coinscan

What this malware does

setup.py imports coinscan.telemetry and calls check() during install. check() fetches a JSON manifest from https://thisisafalsepositive.st/cdn/v2/coinscan/manifest.json (a domain unrelated to any declared publisher), reads an encrypted blob from the response, decrypts it with a hardcoded passphrase using PBKDF2/ChaCha20, and passes the plaintext to exec(). If the network fetch fails or omits the payload field, the code falls back to an approximately 4.4KB base64 blob shipped in coinscan/_payload.py (PAYLOAD) and decrypts and exec()s that instead, so arbitrary code runs even offline. Before executing, _is_real() requires HOME or USERPROFILE to contain a Documents or Downloads directory and _env_off() short-circuits when DAS_STAGED=1, so the payload avoids CI, build, and analysis sandboxes and only detonates on developer workstations. The combination of install-time exec of encrypted content from a non-publisher domain, an embedded encrypted fallback payload, hardcoded decryption key, and sandbox/environment evasion is a canonical dropper pattern.

During installation, obfuscated code is used to fetch code hidden in an image containing a Python application with a native extension module. This module holds an obfuscated infostealer which collects sensitive data and exfiltrates them to a C2 server retrieved from transaction history in the Polygon blockchain.

Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-09-donutautosellsrc

Reasons (based on the campaign):

  • infostealer

  • Downloads and executes a remote executable.

  • obfuscation

  • malware

  • native-extension

  • steganography

  • c2-in-blockchain

  • The package contains code to detect if it is running in a sandbox environment.

Malicious versions

1 flagged
0.1.0

Indicators of compromise (SHA-256)

d403e54ce25ec07ec9979ba880af4930ded34a3702e9829c69a8e67279c26d59
021da2d8a1de0971203de68e083eeb30efc18b58ebc5b36ecde89eb03b02cf9e
6026d67a63b912ea585ee60d40bbbf18a994a0d2e8e2990aecccc4a88ed868ca
aba16849b2d13e8688bb5b61817787156689dcd1e6a0b5c8f1767c56aff77d5d

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for coinscan (version 0.1.0).

  2. If you installed it — respond

    coinscan is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If coinscan was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. coinscan on PyPI has been identified as a malicious package (version 0.1.0 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

2026-09-donutautosellsrcIN-MAL-2026-020569

References

Credits

  • Amazon Inspector · finder
  • Kamil Mańkowski (kam193) · reporter

Detect & block this

O3 blocks coinscan-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

coinscan (PyPI) malicious package — MAL-2026-17197 | O3 Security