T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:33
- Finding
- Third-Party CLI Installation Lacks Artifact Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 33–43 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```bash ### NPM npm install -g @maton/cli@0.3.1 ``` ```bash ### Homebrew brew install maton-ai/cli/maton brew pin maton ``` The document also recommends installing the corresponding SDK packages: ```bash pip install 'maton-ai==0.3.1' ``` ```bash npm install @maton/sdk@0.3.1 ``` ### Technical Analysis The dependency versions are pinned, which reduces unintended version drift, but the installation process does not verify package signatures, cryptographic checksums, provenance attestations, or a trusted lockfile. The Homebrew installation additionally relies on a vendor-controlled custom tap, while the npm command installs the CLI globally. Version pinning alone does not guarantee artifact integrity. If a package registry account, release pipeline, package artifact, or Homebrew tap is compromised, an attacker could replace the pinned release with malicious content under the same version or manipulate the formula to retrieve a malicious artifact. Package installation may execute installation or lifecycle scripts. A globally installed CLI subsequently operates with access to the invoking user's environment, filesystem, credential stores, and authenticated Maton session. The Skill therefore relies heavily on the security of external package-distribution infrastructure without independently validating the installed code. ### Attack Path 1. An attacker compromises the npm/PyPI publisher account, release pipeline, package artifact, or the `maton-ai/cli` Homebrew tap. 2. The attacker publishes or substitutes malicious content for the documented package version or modifies the Homebrew formula. 3. A user follows the Skill instructions and runs the installation command. 4. Package installation or lifecycle logic executes under the user's local account. 5. The malicious package accesses fi ...[truncated 1111 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Publish SHA-256 or stronger cryptographic hashes for every supported CLI and SDK artifact. 2. Verify hashes or signatures before installation and document the expected signer identity. 3. Provide signed release provenance, such as Sigstore attestations or equivalent supply-chain metadata. 4. Prefer official, independently verifiable package sources and clearly document package ownership. 5. Avoid global npm installation where feasible; use a project-local, locked dependency or a verified standalone binary. 6. Disable package lifecycle scripts during installation when they are not required, for example by using npm's script-control options after confirming compatibility. 7. Use lockfiles with integrity metadata for SDK dependencies. 8. Pin Homebrew formula revisions or bottles by verified digest rather than relying only on `brew pin`, which prevents upgrades but does not authenticate the initially installed artifact. 9. Run the CLI in a constrained environment with access only to files and credentials needed for the current task. 10. Document an incident-response procedure for revoking Maton sessions and connected-provider credentials if package integrity is questioned. ]]>
