ecto
Modern Template Consolidation Engine for EJS, Markdown, Pug, Nunjucks, Liquid, and Handlebars
This report shows the evidence for ecto@5.0.1. 1 of 3 known versions is blocked or flagged. The newest version, 5.1.1, is allowed. See all versions.
AI Security Review
scanned 3mo ago · by lpm-firewall-aiThis is concrete unconsented install-time staged execution, not a package-aligned build step. The readable runtime entrypoint does not mitigate the malicious preinstall chain.
Decision evidence
public snapshot- package.json runs `node setup.mjs` as preinstall.
- setup.mjs is obfuscated and downloads a platform-specific Bun binary before executing `Math_Symbol.js`.
- Math_Symbol.js is a 727 KB obfuscated payload, unrelated to the template-engine entrypoint.
- Math_Symbol.js contains remote-response `eval`, child-process use, filesystem access, and token-oriented logic.
- dist/ecto.mjs is a readable template-rendering implementation.
- The malicious lifecycle payload is separate from the declared runtime entrypoint.
Source & flagged code
4 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgPackage source references a known benign dynamic code generation pattern.
Math_Symbol.jsView on unpkg · L1Findings
Affected versions and remediation
This report applies to ecto@5.0.1.
The versions list below shows the verdict for each recorded version.
- Avoid installing ecto@5.0.1. 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.