T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:18
- Finding
- Mandatory Installation of Unpinned Third-Party Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 18–22 **Vulnerability Type**: Unpinned third-party dependencies and unsafe supply-chain resolution **Risk Level**: Medium ### Vulnerable Code ```markdown ## Installation and Bootstrapping (Mandatory) ```bash npm install orbcafe-ui @mui/material @mui/icons-material @mui/x-date-pickers @emotion/react @emotion/styled dayjs ``` ``` ### Technical Analysis The skill makes installation of several npm packages mandatory but does not pin them to reviewed, exact versions. No lockfile or package-integrity policy is included in the audited project. As a result, executing this command resolves package versions and transitive dependencies from the configured npm registry at installation time. The installed artifacts can therefore differ from those originally reviewed. npm packages may also define lifecycle scripts that execute with the privileges of the user running the installation. This creates supply-chain exposure if a dependency or transitive dependency is compromised, replaced with a malicious release, resolved from an attacker-controlled registry, or changes incompatibly after the skill is published. The finding does not establish that any named package is currently malicious; it identifies the unsafe dependency-resolution practice. ### Attack Path 1. An attacker compromises a named npm package, one of its transitive dependencies, or a registry used by the target environment. 2. The attacker publishes a malicious version that satisfies the unpinned installation request. 3. A user or agent follows the skill's mandatory installation instruction. 4. npm resolves and downloads the attacker-controlled release. 5. Malicious lifecycle code executes during installation, or malicious runtime code executes when the generated application imports the package. 6. The payload operates with the permissions of the npm process or application process. ### Impact Assessment ...[truncated 603 chars]
- Remediation
- ## Remediation Suggestions 1. Pin every direct dependency to an exact, reviewed version rather than allowing mutable registry resolution. 2. Provide a committed lockfile and require reproducible installation with `npm ci`. 3. Validate lockfile integrity in CI and reject unexpected dependency-tree changes. 4. Document the trusted registry and enforce it through project-level npm configuration. 5. Audit direct and transitive dependencies, including package ownership, provenance, known vulnerabilities, and lifecycle scripts. 6. Use npm provenance or registry signature controls where available. 7. Run installation in a least-privileged, isolated environment without production secrets. 8. Consider disabling lifecycle scripts with `--ignore-scripts` where package functionality permits, or explicitly allow only reviewed scripts. 9. Add automated dependency scanning and controlled update review instead of resolving new releases implicitly.
