T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Third-Party Packages Executed Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12–13; repeated at lines 21, 37, 93, and 115
Vulnerability Type: Supply-chain exposure through dynamically resolved dependencies
Risk Level: MediumVulnerable Code:
bash npx skills add atxp-dev/cli --skill atxp npx atxp-call https://claw.direct/mcp <tool_name> [params]Technical Analysis
The skill instructs users or agents to execute npm-resolved command-line packages without specifying exact versions, integrity hashes, a lockfile, or immutable source revisions. When a package is unavailable locally,
npxmay retrieve and execute the version selected by the package registry at invocation time.The
skills add atxp-dev/clioperation also imports externally maintained skill content without pinning it to a reviewed commit. Consequently, the code executed during future invocations can differ from the content that was originally reviewed. This creates a supply-chain trust dependency on the npm registry, package maintainers, repository maintainers, and their accounts.Attack Path
- An attacker compromises the publishing account, package, repository, or distribution infrastructure associated with one of the referenced tools.
- The attacker publishes a malicious version or modifies externally retrieved skill content.
- An agent follows the documented Quick Start or another workflow and invokes the unpinned package through
npx. npxdynamically retrieves and executes the attacker-controlled release.- The malicious package runs with the operating-system permissions and accessible environment of the invoking user or agent.
- It may read accessible credentials, including ATXP-related authentication material, alter local files, or initiate unauthorized network and paid MCP operations.
Impact Assessment
Successful exploitation can provide arbitrary code execution within the invoking process's user-level privileges. Th ...[truncated 339 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every npm dependency to an exact, reviewed version rather than relying on registry-selected versions.
- Pin externally imported skill content to an immutable commit hash.
- Provide and verify a lockfile and package integrity hashes.
- Install reviewed dependencies once and invoke their local pinned binaries instead of dynamically downloading packages with
npx. - Document the expected package publisher, checksum, release signature, and verification procedure.
- Run the tooling in a sandbox with minimal filesystem, credential, environment-variable, and network access.
- Require explicit confirmation before paid MCP calls and avoid exposing unrelated credentials to the tool process.
- Establish a dependency-update review process that examines source and provenance before changing pinned versions.
