T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:29
- Finding
- Unpinned Third-Party Package Installation Creates Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md:29-40` and `SKILL.md:481-500` **Vulnerability Type**: Unpinned third-party dependencies and unsafe installation sources **Risk Level**: Medium ### Vulnerable Code `SKILL.md:29-40`: ```bash npm install -g @maton/cli ``` ```bash brew install maton-ai/cli/maton ``` `SKILL.md:481-500`: ```bash pip install maton-ai ``` ```bash npm install @maton/sdk ``` ### Technical Analysis The installation commands retrieve the latest available versions of third-party packages without pinning reviewed versions or verifying package integrity. The global npm installation increases the potential impact because package installation scripts and installed executables run with the installing user's privileges and are made available across the user's environment. The custom Homebrew tap and optional npm and Python SDK packages introduce additional external supply-chain trust. Although the audit found no evidence that the named packages are currently malicious, their effective contents can change independently of this reviewed Skill. A compromised publisher account, package registry, release pipeline, or Homebrew tap could therefore cause users to install code that was not present during the audit. ### Attack Path 1. An attacker compromises a referenced package publisher, registry account, release pipeline, or Homebrew tap. 2. The attacker publishes a malicious release under one of the package names referenced by the Skill. 3. A user follows an unpinned installation command from `SKILL.md`. 4. The package manager resolves the command to the attacker-controlled latest release. 5. Malicious installation lifecycle code or the installed executable runs with the privileges of the installing user. 6. The payload could access data and credentials available to that user, alter user-owned files, or tamper with subsequent Sentry gateway operations. ### Impact Assessment Suc ...[truncated 649 chars]
- Remediation
- ## Remediation Suggestions 1. Pin every npm and Python dependency to a reviewed exact version rather than implicitly installing the latest release. 2. Pin the Homebrew formula or document a reviewed release and checksum-verification procedure. 3. Publish and verify package integrity hashes or signed release artifacts where the package ecosystem supports them. 4. Prefer installation in a constrained local environment instead of global installation. For example, use a dedicated virtual environment for Python and a project-local npm dependency for JavaScript. 5. Disable package lifecycle scripts during installation when they are unnecessary and compatibility has been verified. 6. Document the expected package publisher identities, official registry locations, and release signatures so users can detect dependency-confusion or account-takeover attempts. 7. Maintain a reviewed lockfile or equivalent dependency manifest for SDK examples and periodically audit transitive dependencies. 8. Treat updates as security-sensitive changes: review the new package version and its integrity metadata before changing the pinned version.
