T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:5
- Finding
- Unpinned Third-Party CLI Dependency Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 5–13 **Vulnerability Type**: Unpinned third-party package dependency **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"clawdbot":{"emoji":"📓","requires":{"bins":["nlm"]},"install":[{"id":"uv","kind":"uv-tool","package":"notebooklm-mcp-cli","bins":["nlm","notebooklm-mcp"],"label":"Install notebooklm-mcp-cli (uv)"},{"id":"pipx","kind":"pipx","package":"notebooklm-mcp-cli","bins":["nlm","notebooklm-mcp"],"label":"Install notebooklm-mcp-cli (pipx)"},{"id":"pip","kind":"pip","package":"notebooklm-mcp-cli","bins":["nlm","notebooklm-mcp"],"label":"Install notebooklm-mcp-cli (pip)"}]}} ``` ```markdown Setup - Install: `uv tool install notebooklm-mcp-cli` ``` ### Technical Analysis The skill configures and recommends installation of `notebooklm-mcp-cli` from a third-party package registry without specifying an exact reviewed version or an integrity hash. Consequently, the installed package is resolved at installation time and may differ from the version that existed when the skill was audited. This creates a supply-chain trust boundary: compromise of the package publisher account, registry, release process, or a future package version could introduce malicious package-controlled behavior. Such behavior may execute during installation or when the installed `nlm` or `notebooklm-mcp` executable is subsequently invoked. The available evidence does not establish that the named package is currently malicious. The vulnerability is the absence of controls ensuring that users receive a specific, reviewed package artifact. ### Attack Path 1. An attacker compromises the package publisher, distribution account, release pipeline, or registry artifact. 2. The attacker publishes a malicious release under the legitimate `notebooklm-mcp-cli` package name. 3. A user or agent follows the skill metadata or documented command and installs the package without a version constraint: `uv tool inst ...[truncated 1138 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the dependency to an exact reviewed version in every supported installation path, for example: ```sh uv tool install "notebooklm-mcp-cli==<reviewed-version>" ``` 2. Keep the version constraint consistent across the `uv-tool`, `pipx`, and `pip` installation metadata. 3. Verify package integrity using registry-supported hashes, signatures, attestations, or a locked dependency manifest where available. 4. Document the expected package registry and upstream repository so package resolution cannot silently use an unintended mirror or index. 5. Review new package versions before updating the pin. Include dependency and provenance checks in the release process. 6. Recommend installing and running the CLI in a least-privileged, isolated environment without unrelated credentials or sensitive files. 7. Avoid advising users to force-upgrade directly to an unreviewed latest release. Replace the documented `--force` upgrade guidance with installation of a specifically approved version. ]]>
