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

icingaPyPI

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

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

What this malware does

PyPI package 'icinga' at version 99.1.0 is a dependency-confusion / typosquat lure against the Icinga monitoring project. It ships no real functionality (generic description 'Operational package utility', placeholder author 'Dev') and exists only to run an install-time beacon. setup.py defines a CustomInstall command that, after install.run(self), collects host identifiers (COMPUTERNAME / uname nodename, current working directory, OS info, and the internal IP obtained via a UDP socket trick to 8.8.8.8) and POSTs them as JSON, tagged 'pypi-tg' / 'icinga', to a base64-encoded URL (aHR0cHM6Ly9weXRob24tbG9nLmxhcHhhMzU0LndvcmtlcnMuZGV2Lw== → https://python-log.lapxa354.workers.dev/) decoded at runtime via base64.b64decode and dispatched with urllib.request.urlopen. Exceptions are suppressed to keep the install silent. The implausibly high version number (99.1.0) is a classic dependency-confusion technique to outrank legitimate internal mirrors of an 'icinga' name. Installer impact: any machine running pip install icinga (CI runner, developer workstation, internal build host) leaks its hostname, internal IP, working directory, and OS to the attacker — confirming the typosquat lands and seeding follow-up targeted attacks.

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

2 flagged
99.1.099.2.0

Indicators of compromise (SHA-256)

d9cccf2af56889eebe443b4e56066615f2524f1359a6dc8d7c3757edad319294
fabb684e6e03a2dbe24fdaf0e0ad5ef0f7713de8b90336c8a32acdd338239f3b
fbedb312e9cfe0f5cc7783487adc963f142ebcaefa0fb9305a9a535f373b052d
7c34cfe5b70b2aa01e8acb95ead7bd3d3fb21d34a5c970d93b9410f3c295ff1d
b55d1127d185fdb502e307fc56184adc01866e7f88d26e1eb8a1717d87bb1193

Frequently asked questions

No. icinga on PyPI has been identified as a malicious package (versions 99.1.0, 99.2.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-005311IN-MAL-2026-005314IN-MAL-2026-005315IN-MAL-2026-005310

References

Credits

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

Scan your dependencies

O3 Security blocks malicious packages like this at install time and in CI.

Supply-chain protection
icinga (PyPI) malicious package — MAL-2026-5532 | O3 Security