T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:20
- Finding
- Unpinned Third-Party npm Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 20-24 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash npm install orbcafe-ui # or pnpm add orbcafe-ui ``` ### Technical Analysis The documented installation commands retrieve the latest version of `orbcafe-ui` without specifying an exact reviewed version, lockfile, or integrity constraint. Consequently, the installed package contents can change after this Skill has been reviewed. npm packages can contain executable lifecycle scripts, such as `preinstall`, `install`, and `postinstall`. These scripts may run automatically during installation with the permissions of the user executing the package manager. The audit found no evidence that `orbcafe-ui` is currently malicious; the risk arises from trusting a mutable third-party supply-chain artifact without version or integrity controls. ### Attack Path 1. An attacker compromises the package publisher account, package repository, or another component of the package's dependency chain. 2. The attacker publishes a malicious release that includes harmful runtime behavior or an installation lifecycle script. 3. A developer follows the Skill documentation and runs `npm install orbcafe-ui` or `pnpm add orbcafe-ui`. 4. The package manager resolves the attacker-controlled release because no exact version is specified. 5. Malicious lifecycle code may execute during installation, or malicious component code may execute when the application imports and renders `CustomizeAgent`. ### Impact Assessment Installation-time code would run with the privileges of the developer or automation account invoking the package manager. Depending on those privileges and the surrounding environment, a compromised dependency could access project source code, environment variables, package-manager credentials, CI secrets, and writable user files; alter build artifacts; ...[truncated 383 chars]
- Remediation
- ## Remediation Suggestions - Replace the unversioned command with an exact, reviewed version, for example: `npm install --save-exact orbcafe-ui@<reviewed-version>`. - Commit the generated lockfile and require reproducible, frozen-lockfile installations in CI, such as `npm ci` or `pnpm install --frozen-lockfile`. - Review the package's publisher identity, provenance, release history, transitive dependencies, and lifecycle scripts before recommending it. - Use registry-supported integrity and provenance verification where available. - Inspect unfamiliar packages with lifecycle scripts disabled before allowing normal installation, for example by using the package manager's `--ignore-scripts` option during initial review. - Configure automated dependency scanning and controlled update workflows so new releases are reviewed before adoption. - Run dependency installation and application builds in isolated, least-privileged environments without unnecessary production credentials.
