q-koa@13.8.20
AI Security Review
scanned 27d ago · by lpm-firewall-aiq-koa 13.8.20 is an application framework whose default request path trusts a client header and substring whitelist, then evaluates caller-supplied include, relate, and websocket text. That is a critical remote code execution flaw in normal server use, but the package has no install lifecycle or hidden exfiltration chain, so it should be warned rather than blocked as malware.
Decision evidence
public snapshot- Default auth middleware accepts any request whose Client-Type header is 0, whose method is GET, or whose path merely contains a whitelist substring, and then continues without a valid JWT.
- The shipped whitelist includes the substring find, so ordinary findAll and findOne routes match url.includes and skip login.
- Those query handlers wrap the caller-supplied include and relate body fields as eval(...) and run them with Node vm.runInNewContext.
- The system onlineChat handler feeds each websocket message into vm2 with axios in the sandbox, and the default whitelist also contains the substring system.
- package.json has no preinstall, install, or postinstall hook; the risky paths run only after the application server is started.
- There is no import-time or install-time payload, no hidden credential collector, and no self-install of another release.
- The hardcoded sandbox export does not read request code; the live eval paths are request handlers of this Koa admin framework.
Source & flagged code
7 flagged · loading sourcePackage contains a possible secret pattern.
core/file/plugins/common/controller.jsView on unpkg · L184Package source references weak cryptographic algorithms.
core/file/plugins/common/controller.jsView on unpkg · L15Findings
Affected versions and remediation
This report applies to q-koa@13.8.20.
See all versions of q-koa for other recorded verdicts.
- Review the evidence and your use of q-koa@13.8.20 before allowing it. Restrict the permissions described in this report.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
Evidence last updated: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.