T08 · Insecure Dependencies
- Location
SKILL.md:39- Finding
Unpinned Third-Party Packages Are Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:39-42;references/cli-commands.md:40-41;references/scaffold-stories.md:29-40, 70-73, 109, 165;references/pwa-config.md:6;references/deployment.md:11, 54, 79, 87, 115, 163
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
SKILL.md:39-42:markdown | `sv` | SvelteKit scaffolding | `npm i -g sv` (or use via `pnpx`) | | `pnpm` | Package manager | `npm i -g pnpm` | | `gh` | GitHub repo creation | [cli.github.com](https://cli.github.com) | | `vercel` | Deployment | `npm i -g vercel` |references/cli-commands.md:40-41:bash pnpx sv create [name] # Scaffold project pnpx sv add [addon] # Add functionalityreferences/scaffold-stories.md:29-40:bash # 1. Create project (use pnpx if pnpm available, else npx) pnpx sv create [project-name] \ --template minimal \ --types ts cd [project-name] # 2. Add core add-ons pnpx sv add eslint prettier mcp mdsvex tailwindcss vitest playwright # 3. Install dependencies pnpm installreferences/scaffold-stories.md:70-73:bash # Install Skeleton (Svelte 5 version) pnpm add @skeletonlabs/skeleton @skeletonlabs/skeleton-svelte # Install Bits UI for headless primitives pnpm add bits-uireferences/scaffold-stories.md:109:bash pnpm add -D vite-plugin-pwareferences/scaffold-stories.md:165:bash pnpm add -D @tailwindcss/typography @tailwindcss/formsreferences/pwa-config.md:6:bash npm install -D vite-plugin-pwareferences/deployment.md:11, 54, 79, 87, 115, 163:bash npx sv add sveltekit-adapterbash npx sv add sveltekit-adapter # choose: cloudflare, target: pagesbash npx wrangler pages deploy .svelte-kit/cloudflarebash npx sv add sveltekit-adapter # choose: netlifytext Install the Net ...[truncated 2981 chars]- Remediation
View remediation
Remediation Suggestions
- Pin every directly executed package to an exact reviewed version, for example
pnpx sv@X.Y.Zandnpx wrangler@X.Y.Z. - Pin project dependencies to exact versions rather than floating ranges where practical.
- Generate and commit the appropriate lockfile, then use frozen or immutable installation modes in automated workflows.
- Prefer project-local development dependencies over global installations.
- Maintain an allowlist of approved package names, versions, registries, and integrity hashes.
- Verify package provenance, signatures, integrity metadata, maintainer history, and registry origin before upgrading.
- Review dependency changes and lifecycle scripts before executing newly resolved versions.
- Use
--ignore-scriptsduring installation where lifecycle scripts are unnecessary, enabling only specifically reviewed scripts afterward. - Run package installation and scaffolding in an isolated workspace or container with minimal filesystem access and no unrelated credentials.
- Keep deployment credentials narrowly scoped and avoid exposing them to dependency installation or build steps unless required.
- Add automated dependency scanning and lockfile review to CI.
- Document an explicit upgrade process so pinned versions are updated only after security review and testing.
- Pin every directly executed package to an exact reviewed version, for example
