T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:102
- Finding
- Unpinned npm Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 102 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash npm install agentpin ``` ### Technical Analysis The guide instructs users or AI agents to install the `agentpin` package from the npm registry without specifying an exact version, lockfile, integrity hash, or verified artifact. Consequently, the installed code can change after the Skill has been reviewed. npm packages can define lifecycle scripts that execute during installation. If the package registry account, package namespace, or a future release is compromised, following this instruction could execute attacker-controlled code. The audited project does not include the JavaScript SDK source, so the behavior and integrity of the downloaded package could not be independently verified. Network access is necessary for the documented optional online discovery functionality, but installing mutable external executable content is not necessary merely to provide an informational development guide. The instruction therefore introduces avoidable supply-chain risk. ### Attack Path 1. An attacker compromises the npm publisher account, package namespace, or release process for `agentpin`. 2. The attacker publishes a malicious package version or modifies package lifecycle behavior. 3. A user or AI agent follows the unpinned `npm install agentpin` instruction. 4. npm resolves the current compromised release because no exact reviewed version or integrity constraint is specified. 5. Malicious installation scripts or subsequently imported package code execute with the privileges of the user running npm. 6. The malicious code may access files, environment variables, credentials, or network resources available to that user. ### Impact Assessment Successful exploitation could result in arbitrary code execution under the installing user's account. The ...[truncated 327 chars]
- Remediation
- ## Remediation Suggestions - Pin the dependency to an exact, reviewed version rather than resolving the latest release. - Provide and enforce a committed lockfile containing npm integrity metadata. - Document the verified official package identity and publisher. - Use `npm ci` for reproducible installation where a lockfile is available. - Disable lifecycle scripts with `--ignore-scripts` when they are not required. - Review the resolved package contents and transitive dependencies before approving updates. - Prefer vendored or locally auditable source when the Skill is used in sensitive environments.
