create-zuplo-api@7.8.16
Create Zuplo API with one command
AI Security Review
scanned 1mo ago · by lpm-firewall-aiAgent setup is a first-party, opt-in CLI feature rather than an install hook, but it still registers a Claude plugin marketplace and copies skill files from an unpinned GitHub branch into agent control files. That guarded extension setup is worth a warning and is not a publish block.
Decision evidence
public snapshot- The published entry is a user-run bin, create-zuplo-api to dist/index.js, and package.json has no preinstall, install, or postinstall hook.
- Agent files are written only after an interactive multiselect or an explicit --agents value; selecting none clears the list.
- installAgentConfigs writes .mcp.json and, for Claude, .claude/settings.json that enables zuplo/tools plugins, registers that GitHub marketplace, and sets enableAllProjectMcpServers.
- Non-Claude selections download SKILL.md files from the unpinned https://codeload.github.com/zuplo/tools/tar.gz/main tarball into the chosen agent skill directories.
- The generated MCP config points at the first-party docs endpoint https://dev.zuplo.com/mcp/docs.
- Nothing runs at npm install time; CI or skip-prompts leaves the agent list empty.
- The MCP host is the Zuplo docs service, not an unrelated recipient.
- A PostHog capture on CLI invoke sends scaffold choices and a random id, and is skipped when ZUPLO_DO_NOT_TRACK is set; it does not read service credentials.
Source & flagged code
8 flaggedSource appears to send environment or credential material to an external endpoint.
dist/index.jsView on unpkg · L1Findings
Affected versions and remediation
This report applies to create-zuplo-api@7.8.16.
See all versions of create-zuplo-api for other recorded verdicts.
- Review the evidence and your use of create-zuplo-api@7.8.16 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.