T08 · Insecure Dependencies
- Location
scripts/install.sh:13- Finding
Unpinned Third-Party npm Package Installation and Execution
- Content
View full analysis
Vulnerability Details
File Location:
scripts/install.sh:13-18
Vulnerability Type: Unpinned and unverified third-party dependency execution
Risk Level: Mediumbash # Install clude-bot globally echo "📦 Installing clude-bot..." npm install -g clude-bot 2>/dev/null || npx clude-bot --version # Run MCP install (auto-detects Claude Desktop, Cursor, etc.) echo "⚙️ Configuring MCP server..." npx clude-bot mcp-install --local 2>/dev/null || echo "MCP auto-install not available. See SKILL.md for manual config."Technical Analysis
The installation script installs and executes
clude-botwithout pinning an exact reviewed version or verifying package integrity. Bothnpm install -g clude-botandnpx clude-botresolve a mutable package release from the npm registry. Consequently, the code executed at installation time can differ from the code reviewed during this audit.A package lifecycle script or CLI entry point runs with the privileges of the user invoking the installer. The global installation also modifies the user's shared Node.js environment. Redirecting standard error to
/dev/nullsuppresses security-relevant diagnostics that could otherwise reveal registry, integrity, lifecycle-script, or execution failures.The same unsafe pattern also appears in the documented installation and runtime configuration at
SKILL.md:63,SKILL.md:71-72, andSKILL.md:196.Attack Path
- An attacker compromises the
clude-botnpm publisher account, registry release process, or another component of its dependency supply chain. - The attacker publishes a malicious release under the existing package name.
- A user or agent runs
scripts/install.shor follows the unpinned commands inSKILL.md. - npm or npx resolves and downloads the attacker-controlled current release.
- Package lifecycle scripts or the package CLI execute locally.
- The malicious code acts with the invoking user's permiss ...[truncated 663 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
clude-botto an exact reviewed version in every installation and execution command, rather than relying on the latest registry release. - Use a project-local dependency with a committed lockfile instead of a global installation.
- Enforce package integrity through lockfile integrity metadata, trusted registry configuration, and package provenance or signature verification where available.
- Configure the MCP server to invoke a verified local binary rather than resolving the package dynamically through
npxon each launch. - Disable lifecycle scripts with
--ignore-scriptswhere functionality permits, or explicitly audit every required lifecycle script before allowing it. - Remove
2>/dev/nullso installation and integrity failures remain visible and actionable. - Apply the same version pinning and verification controls to the commands and MCP configuration documented in
SKILL.md. - Run installation and the MCP server under a dedicated, least-privileged account with narrowly scoped filesystem and credential access.
- Pin
