Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

d0rk3rPyPI

Malicious code in d0rk3r (PyPI) Remove it immediately and rotate any exposed credentials.

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

What this malware does

d0rk3r 1.0.5 is advertised as a Shodan IP scraper with proxy rotation, but the sdist ships no Python source — only LICENSE, README, pyproject.toml, requirements.txt, MANIFEST.in, setup.cfg, and egg-info metadata. The package directory d0rk3r_pkg/ referenced by [project.scripts] d0rk3r = d0rk3r_pkg.cli:main and by [tool.setuptools.packages.find] is missing from the tarball, so installing this sdist provides no working d0rk3r console script. pyproject.toml line 32 declares a mandatory dependency on d0rk3r-telemetry>=1.0.0 (open-ended lower bound), which is not mentioned in README or PKG-INFO. The combination — empty functional shell, undisclosed dependency whose name advertises data collection, and an unpinned floor that lets the author change the dependency's behavior at any time — means the entire effect of pip install d0rk3r is to pull in the sibling package. Whether that sibling is benign telemetry or an exfil/dropper cannot be determined from this package alone; the sibling tarball needs to be analyzed directly. Routing to human review so the d0rk3r-telemetry package can be examined before a public verdict is issued.

The package declares malicious dependencies. Their activity is however not triggered as since version 1.0.4, the packages releases lack any source code. Malicious dependency was first introduced in version 1.0.5, but the package is likely prepared to be a loader of malicious code from very begining.

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

Campaign: 2026-06-request-cache-py

Reasons (based on the campaign):

  • infostealer

  • exfiltration-env-variables

  • exfiltration-ssh-keys

  • impersonation

  • A Telegram webhook is used to send collected data.

  • exfiltration-browser-data

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

  • exfiltration-credentials

  • The malicious code is intentionally included in a dependency of the package

Malicious versions

16 flagged
1.0.01.0.21.0.31.0.41.0.51.0.61.0.71.0.81.0.91.1.01.1.11.1.21.1.31.1.41.1.51.2.0

Indicators of compromise (SHA-256)

d0d4cf20ac250e3d7a23666cf8bc3ae722d555b982649dad3f615d9c7c8818d9
07c5dcc2977d11630cd084b3e41499e5c05acfdf0c59e63ac02821af6fed5a9a
1965e83c9acb33075d47a73247e608ba101a612a43bb293769dd5a152df1d9de
47bcab08262c1d3cf8369379ad1ea75f1020189e6f80b9d7f3247bde60af25bb
52055fde30ec312c1e85cd2ccfefc8f137d0d95263eb4c3c407993bf8c339149
79bec8ac5dfa48f77836041bdf8417bb74d1c440c26d6ea48ad2da0d6f8ad736
8f244e3a693787ba8887776cb590807d9e75f788c97a521046b93180a7b7d004
d8041f2403cedac3c13b9fb9c379c3652a36b9785ff096275408880634ddec8f
fcf1915c3198e3342e5ab63a11f9d36cc89c2209d646cb64e996ddf5f2125486
2b3712413dc8f1da06afd404465c89fa74f89fb5045d977ca87de653cfd463bc
72b49998b8fcf8b0b168d8638f8d609cd54b9de0a1756832e689b5d695c27340
b60167e77dda45502d44b0a436c75c8d77bafbb07ea93c24ab2ce0082e75d373
d539bb296205474bede6a558728dd95b5729607fe7de7bfe4c5bff425962bc5b
d5c5f521d510476688639d8ef1f8cc2288ac602adaec629e676e7de60f691219
1cbc673402f814b065eadc8be2641d761d482c30722fdd8e6b1b7522fde2f478
10681d0d02ddd616c66823edc48f05e7cfb7c26456aeeece1d03e54f17b76dc6
54898b1148f13238da98ad320d8e260978e99cb2cfd5a03f4a77d92f7a985dab

Detection & response playbook

Credential / info stealer
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for d0rk3r (16 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging d0rk3r across your stack and pipelines.

  2. If you installed it — respond

    d0rk3r 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 d0rk3r was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks d0rk3r before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. d0rk3r on PyPI has been identified as a malicious package (versions 1.0.0, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, and 8 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

2026-06-request-cache-pyIN-MAL-2026-008475IN-MAL-2026-008499IN-MAL-2026-008822IN-MAL-2026-008831IN-MAL-2026-008830IN-MAL-2026-008835IN-MAL-2026-008828IN-MAL-2026-008825IN-MAL-2026-008826IN-MAL-2026-008827IN-MAL-2026-008833IN-MAL-2026-008824IN-MAL-2026-008829IN-MAL-2026-008999IN-MAL-2026-009416IN-MAL-2026-009427

References

Credits

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

Detect & block this

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