AI Security Review
scanned 6d ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. The main residual risk is a user-invoked studio command that creates a Claude/MCP project config for the package's own course-editing server. This is agent-facing and can mutate course content, but it is not installed or run automatically.
Decision evidence
public snapshot- dist/commands/studio.js writes .mcp.json into process.cwd() during user-invoked skuilder studio.
- Generated .mcp.json registers vue-skuilder-studio MCP server with CouchDB env credentials and node dist/mcp-server.js args.
- dist/mcp-server.js exposes course MCP tools including create_card, update_card, tag_card, delete_card.
- dist/commands/studio.js launches local CouchDB, Express, and UI servers; child_process spawn is used for browser open and npm builds in studio build paths.
- package.json has no npm lifecycle hooks, so MCP/config writes are not install-time triggered.
- dist/cli.js only initializes logging, reads package.json version, and registers commander subcommands.
- Network activity is package-aligned: localhost studio services and user-supplied CouchDB server URLs for pack/unpack/import.
- No hardcoded third-party exfiltration endpoint, credential harvesting, persistence hook, shell startup edit, or lifecycle AI-agent hijack found.
- Project deletion in init is gated behind explicit --dangerously-clobber on a user-selected project path.
- Pack/unpack credentials are CLI options used for user-requested CouchDB course migration.
Source & flagged code
5 flagged · loading sourcePackage contains a possible secret pattern.
dist/commands/studio.jsView on unpkg · L379Hardcoded password in dist/commands/studio.js
dist/commands/studio.jsView on unpkg · L409Package source references dynamic require/import behavior.
dist/studio-ui-src/main.tsView on unpkg · L103Hardcoded password in src/commands/studio.ts
src/commands/studio.tsView on unpkg · L498Hardcoded password in src/commands/studio.ts
src/commands/studio.tsView on unpkg · L529