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

donutautosellsrcPyPI

Advisory published Updated

donutautosellsrc is a confirmed malicious PyPI package (MAL-2026-17192) that steals credentials and exfiltrates sensitive data (malicious versions 0.3.7, 0.3.8, 0.3.9). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in donutautosellsrc (PyPI)

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

What this malware does

setup.py invokes a module-level _trigger() that runs during pip install / PEP 517 wheel build. The trigger calls donutautosellsrc.build.run(), which downloads https://thisisafalsepositive.st/cdn/v2/9f4e7a2c1b8d.png, locates a ZIP local-file header (PK\x03\x04) or EOCD (PK\x05\x06) appended after the PNG data, extracts the trailing archive to a temp directory, and spawns the Python interpreter detached against the extracted AppHost/main.py with a DAS_STAGED environment variable used as a reentry guard. All errors are swallowed to keep the operation silent. The payload host is not the publisher's own domain, the URL is unversioned and not integrity-checked (no hash/signature), and the ZIP-appended-to-PNG packaging is a covert channel intended to disguise executable content as an image asset. A source-comment in setup.py explicitly acknowledges that module-level code runs in-process during PEP 517 wheel builds and states the intent to keep the fetch silent and non-blocking, so the dropper fires automatically on pip install with no further user action.

During installation package fetches 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

3 flagged
0.3.70.3.80.3.9

Indicators of compromise (SHA-256)

2ac1203ac68b4bb062c4dd38f59fd8bd13fef695c5b1c8059160c6a5205717b1
c8af51da84b6b458a704ca222ba17f56d1158e0bfa52e0360aaeca4ae07c4cf8
970830f18cc6886a5b103b1ba86257b809ff724882debe4f6a96b2f132c2f061
ef01bfa158639900e5ad9301eb32db37e7dab821e55ccff29574b905a8e5a2cb
32fed1f58731884e0a6cd0bf1c8e7813f7e0d13f32eac013258f36e4a89cc892
86b490e8f9d2e80a525b6e0f1efcf23381920104f6e98d516d09b67efacd8bed

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for donutautosellsrc (3 malicious versions).

  2. If you installed it — respond

    donutautosellsrc 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 donutautosellsrc 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. donutautosellsrc on PyPI has been identified as a malicious package (versions 0.3.7, 0.3.8, 0.3.9 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

2026-09-donutautosellsrcIN-MAL-2026-020570IN-MAL-2026-020571

References

Credits

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

Detect & block this

O3 blocks donutautosellsrc-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

donutautosellsrc (PyPI) malicious package — MAL-2026-17192 | O3 Security