T08 · Insecure Dependencies
- Location
SKILL.md:104- Finding
Unpinned Third-Party Package Download and Execution via npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20 and 104–107
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: HighVulnerable Code
markdown | [typeui.sh](https://www.typeui.sh) | `npx typeui.sh pull [style]` — CLI, 57+ design skills |bash npx typeui.sh pull minimal # clean typographic npx typeui.sh pull editorial # magazine/longform npx typeui.sh pull brutalist # high contrast, raw npx typeui.sh pull luxury # dark, gold accentsTechnical Analysis
The Skill instructs an agent or user to execute
typeui.shthroughnpxwithout specifying an audited package version, integrity hash, lockfile, or trusted local package source.When the package is not already installed locally,
npxcan retrieve it from the configured package registry and execute its current published version. Consequently, the code executed at invocation time may differ from the code that existed when this Skill was audited. Package lifecycle scripts and the package CLI run with the privileges of the invoking process.This creates a supply-chain trust boundary in which compromise of the package, its publisher account, the registry resolution path, or the configured package registry could result in arbitrary local code execution.
Attack Path
- An attacker compromises the
typeui.shpackage, its publisher account, or an applicable package registry and publishes a malicious version. - A user or agent follows the instructions in
SKILL.mdand invokes one of the unversionednpx typeui.sh pull ...commands. npxresolves and downloads the mutable package version from the configured registry.- Malicious package lifecycle scripts or CLI code execute with the invoking process's permissions.
- The malicious code can access files, environment variables, credentials, network resources, and project content available to that process.
Impact Assessment
Successful exploitation permits arbitrary code ex ...[truncated 767 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
-
Pin the package to a specifically reviewed version rather than resolving the latest release:
bash npx --yes typeui.sh@<audited-version> pull minimal -
Record and verify package integrity through a lockfile and an approved package manager workflow. Prefer installation with immutable lockfile enforcement, such as
npm ci, over ad hoc downloads during Skill execution. -
Review the pinned package, its transitive dependencies, executable entry points, and lifecycle scripts before approving it.
-
Prefer a vendored, locally reviewed implementation when feasible. Include its checksum and provenance in the project.
-
Configure an allowlisted registry and verify the exact package identity to reduce dependency-confusion and registry-redirection risks.
-
Execute the CLI in a restricted sandbox or disposable container with:
- No unnecessary credentials or secrets.
- Read-only access outside the target output directory.
- Minimal filesystem permissions.
- Restricted outbound network access.
- No administrative privileges.
-
Update
SKILL.mdto warn that the command executes third-party code and require explicit user approval before downloading or running it.
-
