T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:37
- Finding
- Third-Party CLI Installation Without Artifact Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:37-43` **Vulnerability Type**: Supply-chain integrity weakness **Risk Level**: Medium ### Vulnerable Code ```bash npm install -g @maton/cli@0.3.1 ``` ```bash brew install maton-ai/cli/maton brew pin maton ``` ### Technical Analysis The Skill instructs users to install and execute a third-party CLI from npm or a custom Homebrew tap. Although the npm version is pinned and Homebrew is pinned after installation, the instructions do not verify an artifact checksum, package signature, source commit, or reproducible-build provenance. Version pinning prevents unexpected upgrades but does not establish that the downloaded artifact is authentic. If the package publisher, registry account, distribution infrastructure, or custom Homebrew tap is compromised, the pinned artifact could be replaced or republished with malicious content. A global npm installation also increases exposure because package installation scripts execute with the installing user's privileges and the resulting executable is placed in the user's global command path. ### Attack Path 1. An attacker compromises the package publisher, npm registry entry, Homebrew tap, or associated release infrastructure. 2. The attacker replaces the referenced release with a malicious artifact while retaining the expected package and version identifiers. 3. A user follows the Skill instructions and installs the package. 4. Package installation hooks or the installed CLI execute attacker-controlled code locally. 5. The malicious code accesses data available to the installing user, potentially including Maton sessions, API credentials, local files, and data returned from connected Google Apps Script accounts. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the user performing the installation. The resulting scope may include: - Access to Maton authentication state available to the local user. ...[truncated 526 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Publish cryptographic SHA-256 checksums for every reviewed CLI artifact and require users to verify them before installation. 2. Sign releases using a verifiable mechanism such as Sigstore, npm provenance attestations, or platform-specific code signing. 3. Document the expected publisher identity, release URL, signing identity, and verification commands. 4. Prefer installation in an isolated environment instead of a global npm installation. 5. Provide reproducible-build instructions and link each package release to a reviewed source commit. 6. For Homebrew, pin the formula to a versioned release artifact with a fixed checksum rather than relying only on `brew pin`, which acts after installation. 7. Recommend execution under an account with access only to the connections required for the current task. ]]>
