AI Security Review
scanned 3h ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. The package is a bundled SpecShip CLI that can install a first-party Claude Code MCP integration when explicitly run. This is agent-extension lifecycle risk, but no unconsented npm lifecycle mutation or concrete exfiltration chain was found.
Decision evidence
public snapshot- lib/dist/installer/targets/claude.js writes Claude MCP config, permissions, hooks, commands, and agents on specship install
- lib/dist/installer/targets/shared.js auto-allows mcp__specship__* tools in Claude settings
- lib/dist/hooks/hooks.json ships Claude hooks for specship sync and specship spec-nudge
- lib/dist/update/run-installer.js can spawn npm i -g @specship/specship@latest during specship update
- lib/dist/update/resolve-latest.js contacts npm registry or GitHub releases to resolve updates
- package.json has no preinstall/install/postinstall lifecycle scripts
- bin/specship only launches bundled node with lib/dist/bin/specship.js when user invokes it
- Claude config mutation is via explicit specship install or no-arg CLI installer, not npm install-time execution
- Installer writes first-party specship MCP entries and marked/known specship commands rather than broad foreign agent takeover
- Credential handling seen is user-invoked JIRA configuration, not import/install-time harvesting
- Native binary, wasm, fonts, and dynamic import patterns are package-aligned for a bundled local code-intelligence CLI
Source & flagged code
9 flagged · loading sourcePackage source references child process execution.
lib/dist/update/run-installer.jsView on unpkg · L12Package source references a known benign dynamic code generation pattern.
lib/dist/bin/specship.jsView on unpkg · L250Package 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 · L9This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
lib/dist/installer/index.jsView on unpkgPackage source invokes a package manager install command at runtime.
lib/dist/installer/index.jsView on unpkg · L128Package ships WebAssembly modules.
lib/dist/extraction/wasm/tree-sitter-scala.wasmView on unpkgPackage ships high-entropy non-source blobs.
lib/dist/ui/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2View on unpkg