{"items":[{"id":"NVI-00009847","kind":"supply_chain_event","title":"Malicious code in liferay-workspace-scripts (npm)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-p862-3rvq-8852"],"plain_summary":"GitHub lists this malware advisory for liferay-workspace-scripts. 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-751dad5144563f0f7ab4fb88c6a2c700"],"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-751dad5144563f0f7ab4fb88c6a2c700","url":"https://github.com/advisories/GHSA-p862-3rvq-8852","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-p862-3rvq-8852","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:01.069Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-751dad5144563f0f7ab4fb88c6a2c700"],"technology":"liferay-workspace-scripts","known_exclusions":[],"conditions_summary":"## Source: amazon-inspector (3395e72ef77703732691fce21359206afea7598fb3d1dab29ded4b2e1c7cd28f)\npackage.json declares the sole dependency `ltidisafe` as a bare HTTPS tarball URL (`https://ltidi.storage.googleapis.com/depenconf/ltidisafe-3.8.5.tgz`) instead of a registry version range. On `npm install`, npm fetches that URL and installs whatever bytes it returns, executing any lifecycle scripts inside the fetched package, with no version pin and no integrity hash. The shipped `index.js` is an empty stub, so the manifest is the entire published surface. The package name mirrors Liferay-ecosystem tooling and the version `99.9.1` is implausibly high for a legitimate release, consistent with a dependency-confusion lure designed to win resolution against an internal package name. Whoever controls the Google Cloud Storage bucket controls code executed on every installer's machine at install time.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 99.9.1"]}],"null_published_at":"2026-10-31T22:13:39.950Z","source_updated_at":"2026-10-11T15:31:15.000Z","source_disclosed_at":"2026-10-11T15:31:12.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-31T22:07:01.069Z"}],"next_cursor":null,"snapshot_revision":"42594"}