{"items":[{"id":"NVI-00008822","kind":"supply_chain_event","title":"Malicious code in semverr (PyPI)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-j4xr-hh3p-8vmm"],"plain_summary":"GitHub lists this malware advisory for semverr. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-f6084a9ba38173086167aa2990006974"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-f6084a9ba38173086167aa2990006974","url":"https://github.com/advisories/GHSA-j4xr-hh3p-8vmm","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-j4xr-hh3p-8vmm","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T21:57:08.488Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-f6084a9ba38173086167aa2990006974"],"technology":"semverr","known_exclusions":[],"conditions_summary":"## Source: amazon-inspector (110e0a64dd80654ca98caa5e291499d158a39eb66c1d35efe896a42095c85118)\nsemverr is a near-empty package (a one-line __version__) whose name resembles the popular semver library. Its setup.py runs at install time (invoked by pip during `pip install`) and calls urllib.request.urlretrieve to fetch an opaque binary from https://c2-worker.crawlnet-claim.workers.dev/dl/pyupd, writes it to a PID-suffixed path in the system temp directory, and launches it via subprocess.Popen with start_new_session=True and stdout/stderr redirected to DEVNULL so the detached child survives the install and runs silently. The fetch is unpinned, unverified (no hash or signature check), and directed at an anonymous Cloudflare Workers host unrelated to any declared publisher. Exceptions in the fetch/exec path are swallowed so install still appears to succeed. The package has no other functionality.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 1.0.0"]}],"null_published_at":"2026-10-31T22:13:27.118Z","source_updated_at":"2026-10-23T00:33:40.000Z","source_disclosed_at":"2026-10-20T18:31:30.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T21:57:08.488Z"}],"next_cursor":null,"snapshot_revision":"42594"}