chai-foundry
This document describes the management of vulnerabilities for the project and all modules within the organization.
This report shows the evidence for chai-foundry@7.0.3. 2 of 2 known versions are blocked or flagged. 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-aiThe source establishes a concrete import-time hidden payload with process execution and network capability; no legitimate package function accounts for it. Absence of lifecycle hooks limits installation-time scope but does not mitigate runtime compromise.
Decision evidence
public snapshot- index.js imports ./lib/config at module load.
- lib/config.js is a 4.1 MB single-line obfuscated payload.
- lib/config.js imports os, fs, path, execSync, and spawn.
- lib/config.js contains axios requests and references .env.
- The obfuscated payload executes during require, not via a declared lifecycle hook.
- package.json declares no preinstall, install, or postinstall hook.
- index.js's exported middleware is otherwise a no-op.
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-foundry@7.0.3.
The versions list below shows the verdict for each recorded version.
- Avoid installing chai-foundry@7.0.3. 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.