T08 · Insecure Dependencies
- Location
SKILL.md:48- Finding
Unpinned Third-Party Dependency Retrieval and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 48–49 and 61–62
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippets:
bash flutter create <project> cd <project> flutter pub add google_fonts cached_network_image go_router lottiebash npm create vite@latest prototype -- --template react-ts cd prototype npm install framer-motion tailwindcss @radix-ui/themesTechnical Analysis
The commands retrieve third-party packages without pinning exact versions or enforcing reviewed integrity values. In particular,
npm create vite@latestexplicitly selects the latest available initializer and executes package-supplied code. The remaining package installation commands resolve mutable dependency versions and transitive dependency graphs at installation time.Consequently, the code executed or installed when the skill is used can differ from the code available during this audit. A compromised package, maintainer account, registry, or transitive dependency could introduce malicious initializer or lifecycle behavior. This finding represents supply-chain exposure; the audited files do not themselves contain a malicious payload.
Attack Path
- An attacker compromises a referenced package, one of its transitive dependencies, or the associated publication account.
- The attacker publishes a malicious release or modifies mutable distribution metadata.
- An agent follows the instructions in
SKILL.md. - The package manager resolves the attacker-controlled release because no exact audited version or integrity constraint is specified.
- Package initializer or lifecycle code executes with the permissions of the user running the command.
- The malicious dependency may alter the generated project or access resources available to that user.
Impact Assessment
Successful exploitation could permit arbitrary code execution under ...[truncated 457 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace mutable package references such as
@latestwith exact, reviewed versions. - Pin direct dependencies to exact versions rather than ranges.
- Generate, review, and commit package-manager lockfiles.
- Use trusted registries and enforce package integrity verification.
- Run dependency installation in an isolated, least-privileged environment without unnecessary secrets.
- Disable package lifecycle scripts where feasible, or explicitly review every package requiring them.
- Add automated dependency scanning and provenance checks to the handoff process.
- Treat dependency upgrades as security-sensitive changes requiring review before updating pinned versions and lockfiles.
- Replace mutable package references such as
