T08 · Insecure Dependencies
- Location
SKILL.md:28- Finding
Unpinned Third-Party SDK Has Access to Financial Credentials and Transaction Authority
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 28-31
Vulnerability Type: Unpinned security-sensitive dependency
Risk Level: HighEvidence
markdown ## Setup 1. Get an API key at [walletpilot.xyz](https://walletpilot.xyz) 2. Install the SDK: `npm install @walletpilot/sdk`Technical Analysis
The installation command does not specify an exact package version, lockfile, or integrity hash. Consequently, it installs whichever release is resolved from the npm registry at installation time. This makes the reviewed behavior non-reproducible and exposes users to future compromised, malicious, or unexpectedly changed package releases.
The dependency is especially security-sensitive because the documented examples initialize it with a WalletPilot API key and use it to request wallet permissions and execute blockchain transactions. A compromised package could access the credential, replace transaction destinations or calldata, submit unauthorized transactions within active permission limits, or misrepresent permission requests.
No evidence in the reviewed file proves that the current package is malicious. The vulnerability is the unsafe dependency acquisition method and the resulting supply-chain exposure.
Attack Path
- An attacker compromises the npm publisher account, package build pipeline, or another part of the package distribution chain.
- The attacker publishes a malicious version of
@walletpilot/sdk. - A user follows the documented unpinned installation command.
- npm resolves and installs the attacker-controlled release.
- The agent initializes the SDK with a WalletPilot API key and invokes wallet operations.
- The malicious SDK captures credentials or modifies permission and transaction requests.
- The attacker abuses the obtained authority to disclose wallet activity or execute transactions within the permissions granted by the user.
Impact Assessment
Suc ...[truncated 567 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
@walletpilot/sdkto a reviewed exact version rather than a floating release. - Provide and enforce a committed package lockfile.
- Verify package provenance, registry ownership, signatures, and integrity hashes before installation.
- Use
npm ciin automated environments to ensure reproducible dependency resolution. - Audit the SDK source and its transitive dependency tree before granting it access to credentials or transaction capabilities.
- Run the SDK with narrowly scoped and revocable API credentials.
- Restrict wallet permissions by contract, chain, token, amount, and expiration so dependency compromise cannot obtain broad transaction authority.
- Establish an update-review process instead of automatically consuming new releases.
- Pin
