T08 · Insecure Dependencies
- Location
SKILL.md:6- Finding
Execution of an Unpinned, Mutable npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 6
Vulnerability Type: Supply-chain risk through a dynamically resolved third-party dependency
Risk Level: HighVulnerable Code
yaml allowed-tools: ["Bash(npx awal@latest x402 bazaar *)", "Bash(npx awal@latest x402 details *)"]The package is subsequently invoked as documented:
bash npx awal@latest x402 bazaar search <query> [-k <n>] [--force-refresh] [--json] npx awal@latest x402 details <url> [--json]Technical Analysis
The skill authorizes
npxto executeawal@latest. Thelatesttag is mutable and can resolve to a different package version each time the command is invoked. If the requested version is not already available locally,npxcan retrieve and execute it from the npm registry.The repository contains no lockfile, integrity hash, vendored package, exact version constraint, or package provenance verification. Consequently, the effective executable code can change after this skill has been audited without any corresponding modification to
SKILL.md.This creates a supply-chain execution boundary in which compromise of the package, its publisher account, the registry distribution path, or a future release can introduce arbitrary code.
Attack Path
- An attacker compromises the
awalpackage, its publisher credentials, or another part of its release pipeline. - The attacker publishes a malicious version and assigns it to the npm
latestdistribution tag. - The agent invokes one of the authorized
npx awal@latestcommands. npxresolves and potentially downloads the attacker-controlled release.- Package installation hooks or executable entry points run with the permissions of the account operating the agent.
- The malicious package can access files, environment variables, network resources, and other capabilities available to that account.
Impact Assessment
Succe ...[truncated 473 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
awal@latestwith an exact, reviewed version such asawal@x.y.z. - Commit a lockfile containing resolved versions and integrity hashes.
- Install dependencies during a controlled setup or build phase rather than downloading them during skill execution.
- Verify package provenance, publisher identity, registry signatures, and release integrity before upgrades.
- Disable or tightly control npm lifecycle scripts where they are not required.
- Run the command in a sandbox with restricted filesystem access, a minimal environment, and limited outbound networking.
- Establish an explicit dependency-update review process so version changes trigger a new security audit.
- Replace
