T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:597
- Finding
- Unpinned Third-Party Packages May Execute Unreviewed Code<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 597–605 **Vulnerability Type**: Supply-chain exposure through unpinned package installation and immediate package execution **Risk Level**: Medium ### Vulnerable Code ```bash pip install clawprint # SDK pip install clawprint-langchain # LangChain toolkit (6 tools) pip install clawprint-openai-agents # OpenAI Agents SDK pip install clawprint-llamaindex # LlamaIndex pip install clawprint-crewai # CrewAI # Node.js npm install @clawprint/sdk # SDK npx @clawprint/mcp-server # MCP server (Claude Desktop / Cursor) ``` ### Technical Analysis The Skill directs users to install packages from public Python and npm registries without fixed versions, integrity hashes, lockfiles, or documented provenance verification. Consequently, the code installed by these commands can change after the Skill has been reviewed. The `npx @clawprint/mcp-server` command is particularly sensitive because `npx` can retrieve and immediately execute a package when it is not already installed locally. Package installation may also execute lifecycle hooks. Therefore, a compromised publisher account, registry compromise, dependency takeover, or malicious future release could introduce arbitrary code into the local environment. The dependencies are optional integrations rather than an intrinsic requirement for using the documented HTTP API. Recommending mutable package versions and immediate execution exceeds the minimum privilege needed for API-based registration, discovery, and exchange operations. ### Attack Path 1. An attacker compromises the publisher account, package repository, build pipeline, or one of the transitive dependencies. 2. The attacker publishes a malicious package release under an existing package name. 3. A user follows the unpinned `pip install`, `npm install`, or `npx` instruction. 4. The package manager selects the malicious curren ...[truncated 864 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin every dependency to a reviewed exact version, such as `package==X.Y.Z` for Python and `package@X.Y.Z` for npm. 2. Publish lockfiles and cryptographic integrity information for supported installations. 3. Document the expected package publisher, repository, signing or provenance information, and verification procedure. 4. Avoid executing remotely resolved packages directly through an unversioned `npx` command. 5. Require users to install a pinned, verified MCP server package before running it, and use options that prohibit an unexpected download. 6. Disable package lifecycle scripts where compatible with the packages' documented installation requirements. 7. Audit direct and transitive dependencies and use automated vulnerability and provenance checks in the release pipeline. 8. Recommend installation in a constrained virtual environment, container, or dedicated low-privilege account without unrelated credentials or workspace access. 9. Retain the direct HTTP API examples as the minimum-privilege workflow and clearly identify SDK and MCP installation as optional. ]]>
