T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:35
- Finding
- Unpinned External Package Installation and Dynamic Skill Loading<). Verify the source before running. - **Subagent scope.** This skill may spawn read-only subagents that use `Read`, `Glob`, and `Grep` to search the local repository. Restrict the working directory to your project. ``` ### Technical Analysis The documented installation command invokes an npm-resolved `skills` package through `npx` without specifying an immutable package version. It also installs the Skill from a mutable GitHub repository reference rather than a reviewed commit hash or signed release. The workflow additionally directs agents to load `skills/ask-mcp`, which is not included in the audited project, and to use an external DeepWiki MCP integration. The behavior and instructions supplied by these external components cannot be established from the reviewed files and may change after this audit. This creates a time-of-review versus time-of-use supply-chain gap. If the npm package, GitHub branch, external Skill, maintainer account, or MCP service is compromised or unexpectedly modified, later installations or Skill-loading operations could introduce unreviewed code or instructions. The project contains no evidence that these external components are intentionally malicious. The vulnerability is the absence of immutable versioning and integrity verification around components capable ...[truncated 1934 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the npm package used by `npx` to an explicitly reviewed version: ```bash npx --yes skills@<reviewed-version> add Lightprotocol/skills ``` 2. Pin the installed GitHub source to a reviewed commit SHA rather than a mutable branch or repository head. 3. Record and verify package integrity hashes, release signatures, or checksums before installation. 4. Do not automatically load `skills/ask-mcp`. Vendor it into the reviewed package or require a separate security review and explicit user approval before activation. 5. Treat MCP responses and remotely sourced Skill instructions as untrusted input. Do not permit them to override system constraints, expand filesystem scope, or initiate execution without confirmation. 6. Run installation and external Skill operations in a sandbox with: - Access limited to the intended project directory. - No wallet files, signing keys, tokens, or unrelated environment variables. - Restricted outbound network access. - No elevated operating-system privileges. 7. Change the workflow so local documentation and read-only repository inspection are attempted first. External Skill loading should be optional rather than a default recovery step. 8. Maintain a dependency lockfile or reviewed manifest documenting the exact npm package version, Git commit, external Skill revision, and MCP endpoint configuration. ]]>
