T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:15
- Finding
- Unpinned Third-Party Dependencies in Mandatory Installation Command## Vulnerability Details **File Location**: `SKILL.md`, lines 15–18 **Vulnerability Type**: Supply-chain risk from unpinned npm dependencies **Risk Level**: Medium ### Vulnerable Code ```bash npm install orbcafe-ui @mui/material @mui/icons-material @mui/x-date-pickers @emotion/react @emotion/styled dayjs ``` ### Technical Analysis The mandatory installation command specifies package names without exact versions. No lockfile, package integrity hashes, or verified registry configuration is included in the audited project. Consequently, npm may resolve package versions that differ from those originally reviewed or expected. npm packages and their transitive dependencies can define lifecycle scripts that execute during installation with the privileges of the user running npm. Although no listed package was established as malicious during this audit, mutable dependency resolution creates a supply-chain exposure: a compromised maintainer account, malicious future release, dependency-confusion condition, or compromised transitive dependency could introduce executable code after the Skill itself has been reviewed. ### Attack Path 1. An attacker compromises a listed package, one of its transitive dependencies, or the relevant package-publishing account. 2. The attacker publishes a malicious version containing a lifecycle script or modified runtime code. 3. A user or Agent follows the mandatory installation instruction in `SKILL.md`. 4. npm resolves the attacker-controlled release because no exact versions or reviewed lockfile constrain resolution. 5. During installation, a malicious lifecycle script can execute in the local environment. Alternatively, malicious package code can execute when the generated application imports or invokes it. ### Impact Assessment Successful exploitation could execute code with the privileges of the account running npm. Depending on that account's permissions and environment, the attacker could r ...[truncated 391 chars]
- Remediation
- ## Remediation Suggestions 1. Pin every direct dependency to an exact, reviewed version rather than allowing npm to select a mutable latest release. 2. Maintain and commit a reviewed `package-lock.json`, then use `npm ci` in automated and reproducible environments. 3. Verify lockfile integrity and dependency provenance during CI, including npm provenance information where available. 4. Configure an approved registry explicitly and enforce scoped-package registry mappings to reduce dependency-confusion risk. 5. Audit direct and transitive dependencies before upgrades, using dependency scanning and manual review of lifecycle scripts. 6. Where compatible with the installation workflow, use `npm ci --ignore-scripts` and explicitly run only reviewed build steps afterward. 7. Run dependency installation in a least-privileged, isolated environment without unnecessary secrets or host filesystem access.
