T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unaudited npm Package Is Downloaded and Executed with Access to a Wallet Path
- Content
View full analysis
``` ```sh npx -y utilia-solana-agent@0.5.7 pdf-to-markdown --max-pages 100 ``` ### Technical Analysis The Skill directs the agent to use `npx -y` to retrieve and execute the third-party `utilia-solana-agent` package from npm. Although the package version is pinned to `0.5.7`, version pinning alone does not verify package integrity or constrain its runtime behavior. The project does not include the package source, a lockfile, verified integrity hashes, cryptographic signatures, or package provenance evidence. The `-y` option also suppresses the normal installation confirmation. Consequently, the package and its transitive dependencies execute without local review and with the permissions and environment inherited from the agent process. The instructions require `SOLANA_KEYPAIR_PATH` to point to a Solana keypair file before these commands are run. Code executed through npm could therefore discover the path through the environment and attempt to read the keypair if filesystem permissions permit. The Skill's instruction not to print or transmit keypair contents does not technically restrict the downloaded package. ### Attack Path 1. A user configures `SOLANA_KEYPAIR_PATH` as instructed, pointing it to a funded Solana keypair file. 2. The agent invokes one of the documented `npx -y utilia-solana-agent@0.5.7` commands. 3. `npx` downloads the package and any required dependencies from the npm supply chain. 4. npm executes the retrieved code with the agent process's user permissions and inherited environment. 5. If the package, publisher account, registry artifact, or a transitive dependency is compromised, malicious code reads `SOLANA_KEYP ...[truncated 935 chars]- Remediation
View remediation
