AI Security Review
scanned 5d ago · by lpm-firewall-aiLPM blocks this version under the AI-agent control-surface policy. The package automatically mutates Claude's plugin marketplace during npm global install. That can refresh Claude plugin-controlled MCP/hooks without an explicit `weclaude init` or user command at install time.
Decision evidence
public snapshot- package.json runs postinstall: sh scripts/postinstall.sh
- scripts/postinstall.sh runs during global install and invokes `claude plugin marketplace update weclaude-local`
- hooks/hooks.json registers a Claude PreToolUse command hook pointing to hooks/pre-tool-use.sh
- dist/cli/sync.js writes mcpServers/env entries into target Claude settings.json files
- dist/daemon/spawn-tmux.js writes Claude trust markers into ~/.claude*.json for spawned workspaces
- postinstall is gated to npm_config_global=true and claude on PATH
- postinstall does not add a new marketplace; it updates an existing weclaude-local marketplace if present
- Network use is mostly package-aligned: WeCom websocket and loopback daemon HTTP
- Secrets are prompted into ~/.weclaude/secrets.json and loaded locally for WeCom bot auth
- No evidence of broad credential harvesting or arbitrary external exfiltration outside the stated WeCom bridge
Source & flagged code
10 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgInstall-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgA single source file combines environment access, network access, and code or shell execution; review context before blocking.
dist/mcp/server.jsView on unpkg · L6Package source references weak cryptographic algorithms.
dist/daemon/session-cache.jsView on unpkg · L82Source contains bidi control or invisible Unicode characters associated with Trojan Source attacks.
dist/shared/paths.jsView on unpkg · L10A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/shared/paths.jsView on unpkgPackage source invokes a package manager install command at runtime.
dist/cli/init.jsView on unpkg · L61Package ships non-JavaScript build or shell helper files.
cli/weclaude.shView on unpkgThis package version adds a dangerous source file absent from the previous stored version.
dist/daemon/mirror-bridge.jsView on unpkg