@threenative/core@0.3.3
The small vanilla Three.js game runtime foundation.
AI Security Review
scanned 27d ago · by lpm-firewall-aiPostinstall mutates several project AI-agent MCP configs by default, with only an environment opt-out, and registers this package's own local MCP servers. That is first-party agent extension setup on an install hook, gated to declaring projects, without a hidden foreign payload or credential export.
Decision evidence
public snapshot- npm postinstall runs scripts/postinstall.mjs, which applies a Three.js patch and then calls MCP setup.
- MCP setup runs by default and stops only when THREENATIVE_SKIP_MCP_SETUP is 1 or true.
- It writes project-scoped agent configs for Claude Code, Codex, Cursor, VS Code, Gemini CLI, opencode, and Zed.
- Missing server entries are added with writeFileSync; existing same-named entries that differ are left in place.
- Registered servers are local node shims under node_modules/@threenative/core/mcp.
- Writes occur only for a consumer project whose package.json declares @threenative/core, not for nested installs or this package itself.
- If a shim is later started and its dependency is missing, launch.mjs runs npx --yes on a pinned package name and version.
- Install skips node_modules paths and projects that do not declare this package.
- Configs are project files, not machine-wide agent settings, and unreadable JSON is left unchanged.
- No install-time network call, credential read, or foreign command was found.
- The npx fallback runs only when an MCP server is started and the local package is absent.
Source & flagged code
9 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgInstall-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
mcp/launch.mjsView on unpkgFindings
Affected versions and remediation
This report applies to @threenative/core@0.3.3.
See all versions of @threenative/core for other recorded verdicts.
- Review the evidence and your use of @threenative/core@0.3.3 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.