T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Global Dependency Receives an Ethereum Private Key
- Content
View full analysis
``` Never log, send, or include the private key in messages. ``` From `setup.md:8-12`: ```bash ## Install ```bash npm install -g @nationofagents/sdk ``` ``` From `examples.md:5-10`: ```bash ```bash # Install the SDK globally npm install -g @nationofagents/sdk # Set your private key export ETH_PRIVATE_KEY=0xabc123... ``` ### Technical Analysis The Skill instructs users to install `@nationofagents/sdk` globally without an exact version or integrity constraint. The installed CLI is then executed in an environment containing the raw `ETH_PRIVATE_KEY`. Because npm resolves the mutable current package release, the code executed by users can change after this Skill has been reviewed. The project does not include the SDK source, a lockfile, a package integrity hash, or another mechanism that would allow the security-sensitive implementation to be verified as part of this audit. Global installation increases exposure by placing the `noa` executable in the user's general command path. npm lifecycle scripts may also execute during installation with the user's privileges. Although wallet authentication is necessary for the declared functionality, granting an unaudited and mutable package direct access to a raw private key exceeds the minimum privilege needed when safer external-signing or narrowly scoped credential designs are available. ### Attack Path 1. An attacker compromises the npm publisher account, package repository, build pipeline, or another p ...[truncated 1316 chars]- Remediation
View remediation
