@pisell/pisellos@2.3.103
一个可扩展的前端模块化SDK框架,支持插件系统
AI Security Review
scanned 1mo ago · by lpm-firewall-aiScanner labels are noisy: this is a large first-party POS SDK with no install hook and no host-secret theft. The Feishu webhooks, window eval fallback, and jsDelivr icons match the product, not malware.
Decision evidence
public snapshot- package.json has no install, preinstall, or postinstall hook; the only lifecycle script is prepublishOnly, which runs the build.
- ScanOrder wires a default Feishu bot for first-party scan-order debug logs only after that solution is initialized, not at install or import.
- dist/plugins/window.js eval is a setTimeout fallback for string handlers, matching browser timer behavior.
- lib/plugins/window.js is the same readable window polyfill, not an obfuscated payload.
- RegisterAndLogin utils only map OAuth providers to public jsDelivr simple-icons URLs.
- The package entry only re-exports the PisellOS frontend SDK; import does not start network or file activity.
- No child_process, no host-secret harvesting, and process.env is only used for NODE_ENV.
- The shared logger default webhook is a REPLACE_ME placeholder, and the Grafana URL is grafana.example.com.
- The request plugin attaches an in-app localStorage token to its own API calls.
Source & flagged code
5 flagged · loading sourceSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/plugins/window.jsView on unpkgPackage source references a known benign dynamic code generation pattern.
dist/plugins/window.jsView on unpkg · L248Findings
Affected versions and remediation
This report applies to @pisell/pisellos@2.3.103.
See all versions of @pisell/pisellos for other recorded verdicts.
- Review the evidence and your use of @pisell/pisellos@2.3.103 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.