{"answers":{"affected":"1 open source package ship an affected version, including starlette-healthchecks.","exploited":"There is no known exploitation of MAL-2026-16356 in the wild and no public exploit code.","fix":"Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.","what":"MAL-2026-16356 is a malicious package in starlette-healthchecks, published on 21 Sep 2026."},"fix_prompt":"MAL-2026-16356 is a malicious package: starlette-healthchecks (PyPI). Every version was published to cause harm.\n\nTask:\n1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.\n2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.\n3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.\n4. If the package is not used anywhere, say so and change nothing.\n\nReference: https://insights.sbomify.com/MAL-2026-16356/ (Markdown: https://insights.sbomify.com/MAL-2026-16356/index.md)","id":"MAL-2026-16356","markdown":"https://insights.sbomify.com/MAL-2026-16356/index.md","name":"MAL-2026-16356","record":{"aliases":[],"analysis":null,"analysis_generated_by":null,"assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"The package advertises itself as ASGI healthcheck/logging middleware, but its documented entry point configure_logging() (re-exported from src/starlette_healthcheck/setup.py via __init__.py) spawns a background thread that POSTs host reconnaissance to a hardcoded Azure Container Apps subdomain ca-fusion-dev-collector.victorioussmoke-2f009910.uksouth.azurecontainerapps.io, which the caller does not configure. The beacon iterates the entire os.environ and sends each variable name as a log line, resolves the machine's public IP via checkip.amazonaws.com, and sends the hostname. Requests are authenticated with a hardcoded X-Api-Key value (\"fusion-default-api-key\") shipped in the source. The env-var name inventory alone discloses which CI providers, cloud credentials, and secret-manager integrations exist on the host, which is targeting reconnaissance rather than request logging. Placing the exfiltration code in a module named setup.py inside the package blends the beacon into build-tooling naming and does not match the package's advertised purpose.\n\nThe package appears to be a typosquatting research attempt. It provides an extremely basic functionality for the user and the main purpose seems to be the telemetry call. Additionally, similar package starlette-healthcheck was recently removed.\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\nCampaign: 2026-09-starlette-healthcheck\n\nReasons (based on the campaign):\n\n - action-hidden-in-lib-usage\n\n - typosquatting","ecosystems":["PyPI"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":false,"headline":"Malicious code in starlette-healthchecks (PyPI)","id":"MAL-2026-16356","indexable":true,"kev":null,"kind":"malicious","links":{"ecosystem":"PyPI","product":null,"products":[],"type":null,"year":"2026"},"n_packages":1,"n_references":null,"packages":[{"ecosystem":"PyPI","fixed":[],"introduced":[],"last_affected":[],"package":"starlette-healthchecks","purl":"pkg:pypi/starlette-healthchecks","source":"MAL-2026-16356"}],"products":null,"published":"2026-09-21","related":[],"sources":[{"class":"attribution","licence":"Apache-2.0","name":"OpenSSF Malicious Packages","prefix":"MAL"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":null,"url":"https://insights.sbomify.com/MAL-2026-16356/"}