T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:34
- Finding
- Third-Party Executables Installed Without Artifact Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:34-41`, `SKILL.md:1153`, and `SKILL.md:1170` **Vulnerability Type**: Supply-chain exposure from unverified third-party packages **Risk Level**: Medium ### Vulnerable Code ```bash npm install -g @maton/cli@0.3.1 ``` ```bash brew install maton-ai/cli/maton brew pin maton ``` ```bash pip install 'maton-ai==0.3.1' ``` ```bash npm install @maton/sdk@0.3.1 ``` ### Technical Analysis The Skill directs users to install the Maton CLI and SDK from NPM, PyPI, and a third-party Homebrew tap. Although package versions are pinned, no cryptographic checksum, signature, lockfile, or independently verifiable artifact identity is provided. Version pinning limits unexpected upgrades but does not protect against: - Compromise of a package publisher account. - Replacement of an artifact associated with a published version. - Compromise of the package registry or Homebrew tap. - Malicious installation lifecycle scripts. - A discrepancy between the reviewed source and the distributed package. The global NPM installation is especially sensitive because package-controlled installation logic executes with the privileges of the user running the command. The installed CLI is subsequently trusted with OAuth authentication, operating-system credential-store access, Google Calendar data, and Maton API operations. No evidence was found that the named packages are currently malicious. The vulnerability is the absence of artifact verification before executing security-sensitive third-party software. ### Attack Path 1. An attacker compromises the package publisher, package registry, release pipeline, or Homebrew tap. 2. The attacker distributes a malicious artifact under the documented package name and version or modifies the installation metadata. 3. A user follows the Skill instructions and installs the package. 4. Package installation or later CLI execution runs attacker-controlled code with the user's local privilege ...[truncated 1023 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Publish cryptographic SHA-256 checksums and signed release manifests for every reviewed CLI and SDK artifact. 2. Verify downloaded artifacts or package signatures before installation. 3. Link the reviewed source revision to the exact distributed package version and document reproducible-build procedures. 4. Prefer a local, isolated installation over a global NPM installation where global access is unnecessary. 5. For Python deployments, provide a requirements file with hash pinning and require `pip install --require-hashes`. 6. For JavaScript deployments, provide and verify a lockfile and disable lifecycle scripts where they are unnecessary. 7. Document whether each package uses installation scripts and why those scripts are required. 8. Pin the Homebrew formula to a verified commit or bottle checksum rather than relying only on `brew pin`, which prevents upgrades but does not independently authenticate the initial artifact. 9. Recommend installation in a sandbox or minimally privileged environment before the package is entrusted with production credentials. ]]>
