T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:162
- Finding
- Unpinned Third-Party Package Installation Creates Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 162–166 **Vulnerability Type**: Unpinned third-party dependencies **Risk Level**: Medium The Skill recommends installing third-party packages without exact version constraints, lockfiles, cryptographic hashes, or other integrity-verification controls. ```markdown ### Package Installation | Language | Package | Install Command | | --------------------- | ----------------- | ----------------------------- | | JavaScript/TypeScript | `@inferedge/moss` | `npm install @inferedge/moss` | | Python | `inferedge-moss` | `pip install inferedge-moss` | | Pipecat Integration | `pipecat-moss` | `pip install pipecat-moss` | ``` ### Technical Analysis These commands resolve the package version from the external npm or Python package registry at installation time. Because no exact versions or integrity hashes are specified, the downloaded code can differ from the version reviewed when the Skill was published. The project contains no vendored dependency source, package manifest, lockfile, or checksum that would permit verification of the effective dependency payload. This creates exposure to compromised publisher accounts, malicious or unexpectedly changed releases, registry compromise, and package ownership changes. The audit found no evidence that the named packages are currently malicious; the vulnerability is the absence of controls ensuring reproducible and verified dependency installation. ### Attack Path 1. An attacker compromises a dependency publisher account, package registry entry, or another component of the package distribution process. 2. The attacker publishes a malicious release under one of the documented package names. 3. A user or agent follows the unpinned `npm install` or `pip install` instruction. 4. The package manager resolves and downloads the attacker-controlled release. 5. Malicious ...[truncated 1122 chars]
- Remediation
- ## Remediation Suggestions 1. Replace mutable installation commands with exact, reviewed versions, such as `npm install @inferedge/moss@<reviewed-version>` and `pip install inferedge-moss==<reviewed-version>`. 2. Provide and enforce lockfiles, such as `package-lock.json` for npm and a hash-locked requirements file generated by a dependency-management tool for Python. 3. Require integrity verification where supported. For Python, distribute hashes and use `pip install --require-hashes`; for npm, retain and verify lockfile integrity metadata. 4. Document the verified publisher identity, official source repository, and package provenance so users can detect dependency confusion or package substitution. 5. Review dependency updates before changing pinned versions and use automated vulnerability, provenance, and malware scanning. 6. Install dependencies in an isolated virtual environment or container under a non-privileged account. 7. Avoid exposing production credentials during package installation, and provide Moss credentials only to the runtime process that requires them. 8. If optional integrations are not required, omit their installation to minimize the dependency and attack surface.
