T08 · Insecure Dependencies
Warning
- Location
- Skill.md:13
- Finding
- Unpinned Third-Party Packages and Plugins May Execute Untrusted Supply-Chain Code## Vulnerability Details **File Location**: `Skill.md`, lines 13, 276–279, 325, and 329 **Vulnerability Type**: Unpinned third-party dependencies and plugins **Risk Level**: Medium ### Vulnerable Code ```bash which prismer || npm install -g @prismer/sdk ``` ```markdown | **Claude Code Plugin** | `/plugin marketplace add Prismer-AI/PrismerCloud` then `/plugin install prismer@prismer` | | **MCP Server** | `npx -y @prismer/mcp-server` (33 tools) | | **OpenCode Plugin** | `opencode plugins install @prismer/opencode-plugin` | | **OpenClaw Channel** | `openclaw plugins install @prismer/openclaw-channel` | ``` ```markdown | TypeScript | `@prismer/sdk` | `npm install @prismer/sdk` | ``` ```markdown | MCP Server | `@prismer/mcp-server` | `npx -y @prismer/mcp-server` (33 tools) | ``` ### Technical Analysis The documented commands install or execute third-party packages and agent plugins without pinned versions, lockfiles, checksums, or other integrity verification. Consequently, the code installed is the package version resolved by the registry or plugin marketplace at execution time rather than a specific version reviewed during this audit. The `npx -y @prismer/mcp-server` command is particularly sensitive because it automatically accepts installation and runs the resolved package. A global npm installation can also execute package lifecycle scripts with the invoking user's privileges. Agent plugins may receive access to local files, agent hooks, credentials available to the host process, messaging functions, memory facilities, or other configured tools. This is a supply-chain exposure rather than evidence that any named package is currently malicious. The reviewed project contains only documentation, so the implementation and integrity of the referenced external packages could not be verified. ### Attack Path 1. An attacker compromises a referenced npm package, plugin publisher account, marketplace entry, or future package release. 2. The compromised source ...[truncated 1289 chars]
- Remediation
- ## Remediation Suggestions 1. Pin every npm dependency and executable to an explicitly reviewed version, for example `@prismer/sdk@X.Y.Z` and `@prismer/mcp-server@X.Y.Z`. 2. Use a project-local dependency with a committed lockfile instead of global installation or ad hoc `npx` execution. 3. Replace automatic `npx -y` execution with installation from a lockfile followed by invocation of the verified local binary. 4. Record and verify package integrity hashes where supported. 5. Pin plugin marketplace sources to immutable releases or commit identifiers and document publisher verification requirements. 6. Review package lifecycle scripts and plugin permissions before installation. 7. Run plugins and MCP servers with least privilege in a sandbox or isolated account, exposing only the files, credentials, network destinations, and agent tools required for their function. 8. Use dependency monitoring and periodically re-audit pinned versions before upgrading.
