AI Security Review
scanned 2d ago · by lpm-firewall-aiNo confirmed malicious attack surface is established. The risky primitives are part of a user-invoked SpecShip/Claude Code integration flow, with no npm lifecycle trigger in the reviewed root package.
Decision evidence
public snapshot- Root package.json has no lifecycle scripts or bin entry; install is inert by npm lifecycle.
- bin/specship.cmd only launches bundled node.exe with lib/dist/bin/specship.js when user invokes it.
- lib/dist/bin/specship.js runs installer only with no CLI args or explicit install command, not on package import/install.
- Claude config writes in lib/dist/installer/targets/claude.js are user-invoked and package-aligned: MCP entry, permissions, commands, subagent, hooks.
- Global npm install command in lib/dist/installer/index.js is interactive/user-confirmed and skipped with --yes.
- Git hooks are offered only when watcher fallback applies and are marker-delimited specship sync hooks.
Source & flagged code
9 flagged · loading sourcePackage source references child process execution.
lib/dist/health/smoke-check.jsView on unpkg · L56Package source references a known benign dynamic code generation pattern.
lib/dist/bin/specship.jsView on unpkg · L247Package source references dynamic require/import behavior.
lib/dist/ui/shimmer-worker.jsView on unpkg · L2A single source file combines environment access, network access, and code or shell execution; review context before blocking.
lib/dist/designer/cdp-ensure.jsView on unpkg · L9Package source invokes a package manager install command at runtime.
lib/dist/installer/index.jsView on unpkg · L125Package ships WebAssembly modules.
lib/dist/extraction/wasm/tree-sitter-scala.wasmView on unpkgPackage ships non-JavaScript build or shell helper files.
bin/specship.cmdView on unpkgThis package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
lib/dist/server/cli.jsView on unpkg