T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:32
- Finding
- Third-Party CLI Installation Without Artifact Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 32-44 **Vulnerability Type**: Supply-chain exposure through externally installed tooling **Risk Level**: Medium ### Vulnerable Code ```bash ### NPM ```bash npm install -g @maton/cli@0.3.1 ``` ### Homebrew ```bash brew install maton-ai/cli/maton brew pin maton ``` ``` The document also recommends installing SDK packages from package registries: ```bash pip install 'maton-ai==0.3.1' npm install @maton/sdk@0.3.1 ``` ### Technical Analysis The Skill instructs the agent or user to install executable third-party components from npm, PyPI, and a vendor-controlled Homebrew tap. The versions are pinned, which reduces exposure to unexpected upgrades, but the instructions do not verify an artifact checksum, package signature, provenance attestation, or trusted publisher identity. Installing an npm package globally can execute package lifecycle scripts with the installing user's privileges. Python packages and Homebrew formulae can similarly execute installation or build logic. Version pinning alone does not protect against a compromised registry account, malicious replacement of an existing release, compromised vendor tap, or upstream distribution infrastructure compromise. There is no evidence that the named packages are currently malicious. The vulnerability is the absence of an integrity-verification boundary before locally executing externally distributed code. ### Attack Path 1. An attacker compromises a package publisher account, registry artifact, vendor tap, or associated distribution infrastructure. 2. The malicious artifact is made available under the documented package name and pinned version, or the tap/formula resolves to attacker-controlled installation logic. 3. A user follows the Skill's installation instructions. 4. Package lifecycle, build, or installation code executes locally. 5. The installer accesses files, credentials, OAuth state, or account data available to the in ...[truncated 673 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Publish SHA-256 or stronger hashes for every supported package artifact and require verification before installation. 2. Provide package-signature or provenance-verification instructions, such as Sigstore attestations or registry provenance metadata. 3. Document the expected publisher identity and official registry namespace. 4. Prefer an isolated project environment or container over global npm installation. 5. For Homebrew, pin the formula to a reviewed commit or content digest rather than relying only on `brew pin`. 6. Maintain a software bill of materials and periodically audit transitive dependencies. 7. Recommend installation only when the CLI is absent; do not reinstall automatically. 8. Require deliberate review before changing the pinned version and record the reviewed artifact digest in the Skill. ]]>
