T08 · Insecure Dependencies
- Location
SKILL.md:35- Finding
Unpinned Third-Party Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 35–37
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumVulnerable Code
bash npx skills add AgentPMT/agent-skills --skill what-is-agentpmt npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setupEquivalent unpinned installation commands are also present at lines 27, 31, 56, 65, 74, 85, 92, and 97–100.
Technical Analysis
The skill directs users to run the
skillsnpm CLI throughnpxwithout specifying an exact package version, lockfile, or integrity hash. If the package is not already available locally,npxcan retrieve the current package release from the configured npm registry and execute its CLI code.Because dependency resolution is mutable, the code ultimately executed may differ from the code that existed when this skill was reviewed. A compromised package release, publisher account, registry, or upstream dependency could therefore introduce malicious behavior. The referenced AgentPMT skill content is also installed dynamically rather than bundled with an auditable revision or verified checksum.
This is classified as a supply-chain weakness rather than confirmed malicious behavior. The audited file contains no embedded payload, obfuscation, or direct evidence that the current upstream packages are malicious.
Attack Path
- An attacker compromises the relevant npm publisher, package release process, registry response, or transitive dependency.
- The attacker publishes or serves a modified version of the unpinned
skillspackage or associated installable content. - A user follows the setup instructions and executes
npx skills add .... npxresolves and downloads the mutable package version from the configured registry.- The downloaded CLI code executes with the operating-system privileges of the invoking user.
- Malicious code could access data availa ...[truncated 956 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the npm CLI to an explicitly reviewed version, for example by using
npx skills@<approved-version>rather than an unversioned package reference. - Record and verify the package integrity hash through a lockfile or equivalent reproducible dependency manifest.
- Pin the AgentPMT skill repository to an immutable commit identifier or signed release rather than a mutable branch or latest release.
- Verify downloaded artifacts against published checksums or cryptographic signatures before execution.
- Use an organization-controlled package registry or allowlist that contains only reviewed package versions.
- Prefer a locally installed, audited CLI invoked with options that prevent automatic remote package resolution.
- Disable dependency lifecycle scripts where compatible with the installer, and review the CLI package and its transitive dependencies before approval.
- Run installation in a restricted environment with minimal filesystem access, no unnecessary credentials, and limited network permissions.
- Update every repeated
npx skills addexample inSKILL.mdso users are not directed toward an insecure fallback command.
- Pin the npm CLI to an explicitly reviewed version, for example by using
