T08 · Insecure Dependencies
- Location
SKILL.md:241- Finding
Unpinned Runtime Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:241
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
markdown | ethers.js | Chain interaction | Required | `npm install ethers` |Technical Analysis
The skill instructs users or agents to install
etherswithout specifying an exact version, lockfile, integrity hash, trusted registry, or dependency-review procedure. Consequently, the installed package and its transitive dependencies may differ over time from those assessed during this audit.npm installation can also execute package lifecycle scripts unless explicitly disabled. In a wallet-enabled environment, a compromised package release or transitive dependency could run with the privileges of the user or agent performing the installation.
This finding concerns unsafe dependency acquisition rather than evidence that the current
etherspackage is malicious. The audited project contains no package manifest, lockfile, vendored dependency, or implementation with which to verify a fixed dependency graph.Attack Path
- A user or AI agent follows the documented
npm install ethersinstruction. - npm resolves the current mutable release and its transitive dependency graph from the configured registry.
- An attacker has compromised a resolved package, dependency, maintainer account, or registry response.
- npm downloads the compromised component and may execute its installation lifecycle scripts.
- The malicious component executes under the installing user's permissions.
- In the documented wallet and RPC environment, it may attempt to read accessible wallet configuration, RPC credentials, environment variables, local files, or transaction data and misuse them within the user's privilege boundary.
Impact Assessment
Successful exploitation could provide code execution with the privileges of the user or agent running npm. The a ...[truncated 361 chars]
- A user or AI agent follows the documented
- Remediation
View remediation
Remediation Suggestions
- Replace the floating installation command with an exact, reviewed version, such as
npm install --save-exact ethers@<reviewed-version>. - Commit a generated lockfile and use
npm ciso installations reproduce the reviewed dependency graph. - Record and verify registry and package integrity metadata.
- Use
npm ci --ignore-scriptswhen dependency functionality permits; otherwise, review all lifecycle scripts before installation. - Run dependency installation in an isolated, least-privileged environment without wallet secrets.
- Separate dependency installation and untrusted computation from wallet signing. Expose signing through a narrowly scoped interface requiring explicit transaction review and confirmation.
- Add automated dependency vulnerability, provenance, and unexpected dependency-change checks to the release process.
- Replace the floating installation command with an exact, reviewed version, such as
