chai-leaf
This document describes the management of vulnerabilities for the project and all modules within the organization.
This report shows the evidence for chai-leaf@1.4.8. 4 of 5 known versions are blocked or flagged. The newest version, 0.0.1-security, is allowed. See all versions.
This package appears in our research on the fake chai plugin campaign, with how it works, the full package list and what to do if you installed it.
AI Security Review
scanned 3mo ago · by lpm-firewall-aiThis is not an install-hook-only finding: the malicious payload is reached by an ordinary import. Its concealed host collection and outbound transmission are incompatible with the package's advertised middleware behavior.
Decision evidence
public snapshot- index.js imports ./lib/config at module load.
- lib/config.js is a 4 MB obfuscated top-level payload.
- lib/config.js imports os, fs, child_process, axios, and crypto.
- Payload collects hostname, OS, and username, then axios POSTs them with a cryptographic header.
- Payload contains fs enumeration, detached spawn, and execSync paths.
- package.json has no npm lifecycle hooks.
- No clear benign use of lib/config.js is present in the public entrypoint.
Source & flagged code
4 flagged · loading sourceSource downloads or fetches remote code and executes it.
lib/config.jsView on unpkg · L1A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
Findings
Affected versions and remediation
This report applies to chai-leaf@1.4.8.
The versions list below shows the verdict for each recorded version.
- Avoid installing chai-leaf@1.4.8. 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.