T08 · Insecure Dependencies
- Location
SKILL.md:102- Finding
Unpinned npm Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 102
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
bash npm install agentpinTechnical Analysis
The guide instructs users or AI agents to install the
agentpinpackage 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
- An attacker compromises the npm publisher account, package namespace, or release process for
agentpin. - The attacker publishes a malicious package version or modifies package lifecycle behavior.
- A user or AI agent follows the unpinned
npm install agentpininstruction. - npm resolves the current compromised release because no exact reviewed version or integrity constraint is specified.
- Malicious installation scripts or subsequently imported package code execute with the privileges of the user running npm.
- 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]
- An attacker compromises the npm publisher account, package namespace, or release process for
- Remediation
View 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 cifor reproducible installation where a lockfile is available. - Disable lifecycle scripts with
--ignore-scriptswhen 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.
