{"id":"MAL-2026-18082","summary":"Malicious code in tailwind-fabric (npm)","details":"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.","modified":"2026-10-20T06:15:04.921678061Z","published":"2026-10-19T00:00:00Z","database_specific":{"iocs":{"files":[{"note":"require of private scoped dependency @aaron205whitmore/postcss-animate-utils","paths":["src/motion.js"],"source":"PACKAGE_ARCHIVE"}]}},"references":[{"type":"ADVISORY","url":"https://osv.dev/vulnerability/MAL-2026-17665"},{"type":"ADVISORY","url":"https://osv.dev/vulnerability/MAL-2026-17666"},{"type":"ADVISORY","url":"https://osv.dev/vulnerability/MAL-2026-17667"},{"type":"WEB","url":"https://pkgwarden.com/incidents/fake-interview-tailwind-plugins-npm-october-2026/"}],"affected":[{"package":{"name":"tailwind-fabric","ecosystem":"npm","purl":"pkg:npm/tailwind-fabric"},"versions":["3.0.1","3.0.4"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/tailwind-fabric/MAL-2026-18082.json"}}],"schema_version":"1.9.0","credits":[{"name":"pkgwarden","contact":["https://pkgwarden.com"],"type":"FINDER"}]}