@servicetitan/stylelint-config
Core Stylelint rule sets for ServiceTitan web projects
This report shows the evidence for @servicetitan/stylelint-config@38.1.4. 7 of 21 known versions are blocked or flagged. The newest version, 40.2.2, is allowed. See all versions.
AI Security Review
scanned 3mo ago · by lpm-firewall-aiThis is concrete, unconsented install-time execution of an obfuscated credential-harvesting payload, not package-aligned tooling.
Decision evidence
public snapshot- package.json runs `node setup.mjs` as preinstall.
- setup.mjs downloads Bun from GitHub and executes math_init.js during install.
- math_init.js is an obfuscated payload with dynamic `eval` of fetched response content.
- math_init.js enumerates GitHub token sources and sends data through network request code.
- dist/ and src/ implement ordinary Stylelint configuration and rules.
- The malicious lifecycle files are unrelated to the declared Stylelint functionality.
Source & flagged code
5 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgPackage source references a known benign dynamic code generation pattern.
math_init.jsView on unpkg · L1Findings
Affected versions and remediation
This report applies to @servicetitan/stylelint-config@38.1.4.
The versions list below shows the verdict for each recorded version.
- Avoid installing @servicetitan/stylelint-config@38.1.4. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.
Evidence last updated: .
Source advisory published: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.