AI Security Review
scanned 11d ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. The package is a broad SiteDesk installer with substantial system and AI-agent setup capability. It can register Claude plugins and seed bypassPermissions in a brand-scoped Claude config, but this is activated by the explicit CLI installer rather than npm lifecycle execution.
Decision evidence
public snapshot- dist/index.js is a user-invoked installer bin that installs/updates Claude Code, registers Claude plugin marketplaces, installs local and external plugins, and seeds Claude settings.
- dist/permissions-seed.js writes brand-scoped Claude settings with permissions.defaultMode="bypassPermissions" and autoMode Cloudflare allow rules.
- dist/index.js provisions persistent services, cron/systemd/launchd-style units, Neo4j/Ollama/cloudflared, and immutable source-tree guards under the product install.
- dist/index.js downloads or installs from remote sources such as @anthropic-ai/claude-code@latest, @playwright/mcp@latest, NodeSource, Neo4j, Ollama, uv, and cloudflared.
- package.json has no install/postinstall/prepare lifecycle hook; prepublishOnly is publisher-side only, so behavior is not triggered by npm install.
- All high-risk writes are reached from the explicit create-sitedesk-code bin, not import-time or install-time execution.
- Claude config writes are scoped to ~/.sitedesk-code/.claude and product runtime env CLAUDE_CONFIG_DIR, not the user's default ~/.claude.
- Payload and plugins are product-aligned SiteDesk/Maxy platform assets; no credential harvesting or exfiltration path was confirmed in inspected installer code.
- Installer redacts generated Neo4j passwords in logs and stores product secrets locally under product config paths.
Source & flagged code
24 flagged · loading sourcePackage contains a possible secret pattern.
payload/platform/scripts/smoke-boot-services.shView on unpkg · L317A single source file combines environment access, network access, and code or shell execution with blocking evidence.
dist/index.jsView on unpkg · L134Source downloads or fetches remote code and executes it.
dist/index.jsView on unpkg · L1A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/index.jsView on unpkg · L1Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
dist/index.jsView on unpkg · L1Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
dist/index.jsView on unpkg · L1Package source invokes a package manager install command at runtime.
dist/index.jsView on unpkg · L1066Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/index.jsView on unpkgSource writes installer persistence such as shell profile or service configuration.
dist/index.jsView on unpkg · L1Package hides binary, compressed, or executable-looking payloads in test/fixture/hidden paths.
payload/platform/plugins/prompt-optimiser/skills/prompt-optimiser/__tests__/restatement-ladder.test.shView on unpkgPackage ships non-JavaScript build or shell helper files.
payload/platform/plugins/prompt-optimiser/skills/prompt-optimiser/__tests__/restatement-ladder.test.shView on unpkgPackage ships high-entropy non-source blobs.
payload/server/public/assets/cormorant-latin-ext-500-normal-AH9qog1s.woff2View on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/lib/graph-mcp/dist/index.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/admin/mcp/dist/index.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.jsView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/lib/anthropic-key/dist/index.jsView on unpkgHardcoded password in payload/platform/plugins/email/mcp/dist/__tests__/email-delete.test.js
payload/platform/plugins/email/mcp/dist/__tests__/email-delete.test.jsView on unpkg · L52Hardcoded password in payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.js
payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.jsView on unpkg · L28Hardcoded password in payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.js
payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.jsView on unpkg · L43Hardcoded password in payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.js
payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.jsView on unpkg · L57Hardcoded password in payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.js
payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.jsView on unpkg · L127Hardcoded password in payload/platform/lib/task-secrets/src/__tests__/redact-secrets.test.ts
payload/platform/lib/task-secrets/src/__tests__/redact-secrets.test.tsView on unpkg · L73