T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:32
- Finding
- Unpinned Third-Party Package Installations Create Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 32–43 and 601–628 **Vulnerability Type**: Unpinned and unverified third-party dependencies **Risk Level**: Medium ### Vulnerable Code `SKILL.md`, lines 32–43: ```bash ## Installation ### NPM npm install -g @maton/cli ### Homebrew brew install maton-ai/cli/maton ``` `SKILL.md`, lines 601–628: ```bash **Python** pip install maton-ai ``` ```python from maton_ai import Maton, login # login() maton = Maton() # maton = Maton(api_key="...") result = maton.api.get("clockify", "/api/v1/user") ``` ```bash **JavaScript** npm install @maton/sdk ``` ```javascript import { Maton, login } from "@maton/sdk"; // await login() const maton = new Maton(); // const maton = new Maton({ apiKey: "..." }); const result = await maton.api.get("clockify", "/api/v1/user"); ``` ### Technical Analysis The Skill directs users or agents to install mutable latest versions of several third-party packages without exact version constraints, cryptographic hashes, lockfiles, signatures, or other integrity verification. The installation sources include npm, PyPI, and a custom Homebrew tap. Package installation can execute package lifecycle scripts, Python build backends, or Homebrew formula installation logic. The global npm installation is especially sensitive because it installs an executable into a shared user-level or system-level command path. The project contains only documentation and therefore provides no local source code, checksums, or provenance data with which to verify the installed CLI and SDK implementations. No evidence establishes that the named packages are currently malicious. The vulnerability is that following these mutable installation instructions makes the effective code depend on whatever package version the remote publisher serves at installation time. ### Attack Path 1. An attacker compromises a package publ ...[truncated 1282 chars]
- Remediation
- ## Remediation Suggestions 1. Pin each dependency to an exact, reviewed version rather than installing the mutable latest release. 2. Provide and verify cryptographic checksums or publisher signatures for CLI artifacts. 3. Use lockfiles with integrity metadata for JavaScript and Python application dependencies. 4. Avoid global installation where a project-local or isolated installation is sufficient. 5. Install Python packages in a dedicated virtual environment and use hash-locked requirements. 6. Pin the Homebrew formula or artifact revision and document the trusted tap owner and verification procedure. 7. Document the expected package publisher identities and official registry URLs to reduce dependency-confusion and typosquatting risk. 8. Review release changes before updating pinned versions, and use automated dependency scanning for transitive packages. 9. Prefer OAuth-backed credential storage and ensure package installation processes do not receive unnecessary secrets in their environment.
