T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Execution of an Unreviewed Third-Party npm CLI
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–24
Vulnerability Type: Third-party dependency and supply-chain risk
Risk Level: MediumVulnerable Code
bash npm install -g awal@2.0.3 awal auth loginbash npx awal@2.0.3 x402 pay https://anicca-proxy-production.up.railway.app/api/x402/focus-coach \ -X POST \ -d '{"situation":"I need to write a report but keep getting distracted by my phone","energy_level":"medium","language":"en"}'Technical Analysis
The skill instructs users to download, globally install, and execute the third-party
awal@2.0.3npm package. npm installations can execute package lifecycle scripts, and a global installation increases the affected scope. The package is subsequently invoked throughnpx, creating another package-resolution and execution path.Although the dependency is pinned to a version, the project provides no lockfile, package integrity hash, vendored source, or reviewed implementation from which the downloaded artifact's behavior can be verified. Consequently, the audited
SKILL.mddoes not establish that the npm artifact or its transitive dependencies are trustworthy. This finding identifies an insecure dependency-execution pattern; the available evidence does not establish thatawal@2.0.3is itself malicious.Attack Path
- A user follows the prerequisite documented in
SKILL.md. - npm resolves and downloads
awal@2.0.3and its transitive dependencies from the configured registry. - npm may execute lifecycle scripts during the global installation.
- The user authenticates through
awal auth login, exposing authentication or payment-related data to the installed CLI according to its implementation. - The usage command invokes the package again through
npxand initiates a paid blockchain request. - If the package artifact, a transitive dependency, the registry, or the package publisher account were compromis ...[truncated 713 chars]
- A user follows the prerequisite documented in
- Remediation
View remediation
Remediation Suggestions
- Avoid global package installation. Use a project-local, reviewed dependency executed from a controlled environment.
- Commit a lockfile and use a clean, reproducible installation command such as
npm ci. - Verify package provenance and document the authoritative publisher and repository.
- Validate the exact package artifact with registry integrity metadata or an independently verified cryptographic digest.
- Audit the package's source, lifecycle scripts, and transitive dependency tree before recommending execution.
- Disable lifecycle scripts with
--ignore-scriptswhen the package does not require them. - Remove the redundant
npxresolution path and invoke only the locally installed, verified binary. - Run the CLI in a sandbox or container with minimal filesystem, environment-variable, credential, wallet, and network access.
- Use a dedicated low-value wallet or payment identity with strict spending limits for x402 requests.
- Document what authentication data and user-submitted content the CLI and remote endpoint can access, including retention and privacy behavior.
