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

captcha-solve-apiPyPI

captcha-solve-api is a confirmed malicious PyPI package (MAL-2026-10755) that steals credentials and exfiltrates sensitive data (malicious versions 0.0.1, 8.5.3, 8.5.4). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in captcha-solve-api (PyPI)

MAL-2026-10755
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall captcha-solve-api

What this malware does

The PyPI package captcha-solve-api contains no captcha functionality and is instead a binary dropper disguised as an analytics SDK. A custom setuptools install class copies telemetry.pth into site-packages, and site.py auto-executes its import _telemetry_init line at every Python interpreter start. _telemetry_init._bootstrap() spawns a daemon thread that runs _telemetry_transport.Client.initialize(), which selects a per-OS/arch asset path (/pkg/package, /pkg/package-arm64, /pkg/loader_mac, /pkg/package.exe) from rotating Cloudflare Worker hosts (package-proxy.cf5oobworker.workers.dev, package-proxy.cf8oobworker.workers.dev, package-proxy.cf12oobworker.workers.dev, package-proxy.cf17-ddb.workers.dev, package-proxy.cf25-6eb.workers.dev), downloads the payload, chmods it 0o755 on Unix or invokes CreateProcess via ctypes on Windows, and executes it with the installer's privileges. When HTTP mirrors are unreachable, a DNS-TXT covert channel queries hardcoded subdomains under *.dl.well1.site (tin/tina/ldr/win.dl.well1.site) via public resolvers 8.8.8.8 and 1.1.1.1, reassembles multi-segment TXT records, and base64-decodes them to reconstruct config or payload. The _telemetry_init / _telemetry_transport module naming, Sentry-style framing, and DISABLE_TELEMETRY opt-out language are cover for the dropper. Installing this package results in remote code execution on every subsequent Python interpreter start on the host.

Package presents little functionality, but excessive fake 'telemetry' module. This fake telemetry is used to download and run malicious executables. Code is designed to survive different blocks: first, there is an attempt to download the executable from one of five Cloudflare Workers. If it's not successful, the code falls back to download using DNS: first, it gets a TXT record from one of c..dl.well1[.]site domains, depending on the system. This record returns a number, which is then used to iterate over domains in the form <0...n>..dl.well1[.]site and reconstruct the encoded executable from their TXT records. The downloaded binary is then executed and removed afterward. Using a PTH file ensures persistence and runs on every Python start. In this campaign, versions 0.0.1 hold disarmed code (without the necessary configuration), which is completed in further updates.

This is a continuation of the 2026-07-haproxy-config-client campaign.

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

Campaign: 2026-07-andreiiiiiii_i

Reasons (based on the campaign):

  • The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.

  • The package overrides the install command in setup.py to execute malicious code during installation.

  • Downloads and executes a remote executable.

  • covering-tracks

  • persistence

  • abuses-pth

  • data-stored-in-dns

Malicious versions

3 flagged
0.0.18.5.38.5.4

Indicators of compromise (SHA-256)

ee854f4888e58f81b9e22e7addd740d28a717be453133c10267dd91fc5e50cee
429dcc1b806027e55c9761344777e12e795b2d7302197287a85593acf1da2094
6745bff1a72b44a9e53129210993aa7a3d0b95e8d9a0a2b2cdfe91324a8e8477
0897a483150112638e6bc110f0f560bc59bb02dbc8425df79b18261f7021b4d3
99621af0900df34246c87811ea5c2a643f2b3805601136dcc0a6768e48af925f

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 captcha-solve-api (3 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging captcha-solve-api across your stack and pipelines.

  2. If you installed it — respond

    captcha-solve-api 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 captcha-solve-api 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 captcha-solve-api 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. captcha-solve-api on PyPI has been identified as a malicious package (versions 0.0.1, 8.5.3, 8.5.4 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-0107512026-07-andreiiiiiii_iIN-MAL-2026-010928IN-MAL-2026-010933

References

Credits

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

Detect & block this

O3 blocks captcha-solve-api-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

captcha-solve-api (PyPI) malicious package — MAL-2026-10755 | O3 Security