{"items":[{"id":"NVI-00008801","kind":"supply_chain_event","title":"Malicious code in tailwind-fabric (npm)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-jm3w-rxjc-9rp6"],"plain_summary":"GitHub lists this malware advisory for tailwind-fabric, tailwind-fabric. 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-eb9513070d69a14c21c8e23f6b26de7b"],"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-eb9513070d69a14c21c8e23f6b26de7b","url":"https://github.com/advisories/GHSA-jm3w-rxjc-9rp6","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-jm3w-rxjc-9rp6","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T21:56:27.401Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-eb9513070d69a14c21c8e23f6b26de7b"],"technology":"tailwind-fabric","known_exclusions":[],"conditions_summary":"tailwind-fabric (3.0.1, 3.0.4) is a Tailwind CSS plugin from the fake job interview campaign behind MAL-2026-17665 and MAL-2026-17666: the same Animate.css integration template, README and description, published by johnxia1997 on 2026-09-28. src/motion.js:5 requires the private scoped package @aaron205whitmore/postcss-animate-utils, which is not readable on the public registry and resolves only with the npm token committed in the lure repository's web/.npmrc, so the code it delivers runs when tailwind.config.js loads the plugin and the dev server starts. The published tarball contains no install scripts and no network code; the payload lives in the private dependency, which was not retrieved. Twenty-six such packages under seventeen accounts were published between 2026-07-28 and 2026-10-09.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 3.0.1"]},{"certainty":"source_listed","source_ids":["sr-eb9513070d69a14c21c8e23f6b26de7b"],"technology":"tailwind-fabric","known_exclusions":[],"conditions_summary":"tailwind-fabric (3.0.1, 3.0.4) is a Tailwind CSS plugin from the fake job interview campaign behind MAL-2026-17665 and MAL-2026-17666: the same Animate.css integration template, README and description, published by johnxia1997 on 2026-09-28. src/motion.js:5 requires the private scoped package @aaron205whitmore/postcss-animate-utils, which is not readable on the public registry and resolves only with the npm token committed in the lure repository's web/.npmrc, so the code it delivers runs when tailwind.config.js loads the plugin and the dev server starts. The published tarball contains no install scripts and no network code; the payload lives in the private dependency, which was not retrieved. Twenty-six such packages under seventeen accounts were published between 2026-07-28 and 2026-10-09.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 3.0.4"]}],"null_published_at":"2026-10-31T22:13:27.117Z","source_updated_at":"2026-10-29T15:31:34.000Z","source_disclosed_at":"2026-10-20T06:31:17.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:56:27.401Z"}],"next_cursor":null,"snapshot_revision":"42594"}