chai-log
Test reporter which shows logs(including gas) per unit test.
This report shows the evidence for chai-log@1.1.0, the only known version.
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 4mo ago · by lpm-firewall-aiSource inspection confirms a concrete runtime RCE chain: detached child_process spawn, external payload fetch, and dynamic execution. This behavior is not package-aligned and warrants blocking despite the absence of install lifecycle hooks.
Decision evidence
public snapshot- index.js exports log(), whose always-true branch calls utils.connectNet() during Mocha reporter construction.
- lib/utils.js connectNet() spawns detached node process running lib/syncResolve.js and unrefs it.
- lib/syncResolve.js fetches https://testlog.edgeone.cool/data.json with x-secret-key header, reads .data.Cookie, and executes it via Function.constructor.
- Remote payload execution is hidden behind package runtime, unrelated to stated Ethereum gas reporter behavior.
- package.json has no lifecycle hooks, so trigger is runtime reporter use rather than install-time.
- Legitimate gas-reporting code exists in lib/config.js, lib/syncRequest.js, lib/gasTable.js and uses Ethereum RPC/price APIs.
- codechecks.js appears aligned with explicit Codechecks gas report integration.
Source & flagged code
2 flagged · loading sourcePackage source references dynamic require/import behavior.
codechecks.jsView on unpkg · L1Package ships non-JavaScript build or shell helper files.
mock/scripts/integration_tests.shView on unpkgFindings
Affected versions and remediation
This report applies to chai-log@1.1.0.
The versions list below shows the verdict for each recorded version.
- Avoid installing chai-log@1.1.0. 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.