NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

metrioPyPI

Advisory published Updated

metrio is a confirmed malicious PyPI package (MAL-2026-17193) that steals credentials and exfiltrates sensitive data (malicious versions 999.0.0, 1000.0.0, 1001.0.0). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in metrio (PyPI)

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

What this malware does

metrio 999.0.0 executes a hostname-exfiltration beacon from both setup.py (install time) and metrio/init.py (import time). The code reads the local machine's hostname, hex-encodes it, and embeds it as a subdomain of the attacker-controlled domain 84avt3516s4q1obsv9q0mh4u2l8dw3ks.x9.to, then triggers a DNS resolution via socket.gethostbyname and a plain-HTTP GET via urllib.request.urlopen against that host. The version number 999.0.0 and the self-described 'dependency-confusion PoC placeholder' summary are the canonical high-version dependency-confusion shape: the package is intended to win resolution against an internal package of the same name and beacon the resolving host back to the operator. Installer harm on pip install metrio or import metrio is disclosure of the installer's hostname to a third-party collector, and confirmation to the operator that this internal name resolves to the public index from the installer's build environment.

Installing the package or importing the module exfiltrates basic information about the host, and the package has no other purpose.

Category: PROBABLY_PENTEST - Packages looking like typical pentest packages, but also anything that looks like testing, exploring pre-prepared kits, research & co, with clearly low-harm possibilities.

Campaign: GENERIC-standard-pypi-install-pentest

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.

Malicious versions

3 flagged
999.0.01000.0.01001.0.0

Indicators of compromise (SHA-256)

f7b0289ef68f815e0fd296282739990dfc918c0070fb5acdae2787ca8eba23f3
aa43e5bd4e94fcbdb47833ee74344b59f44bb3eb475e656855bae538c9716fcf
ce8ee66a844d7abed74f4b9d223c8ef8f35bae380104526f4f8bc57295c47320
76ff4203d226c3aec8320c217397a99e823f7d46eb85b79bdd872a97b0dab688

Detection & response playbook

Credential / info stealer
  1. Find it

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

  2. If you installed it — respond

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

Campaign

GENERIC-standard-pypi-install-pentestIN-MAL-2026-020580IN-MAL-2026-020583IN-MAL-2026-020776

References

Credits

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

Detect & block this

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

metrio (PyPI) malicious package — MAL-2026-17193 | O3 Security