T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Third-Party Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 15
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code Snippet:
markdown - SDK: `import { VeezeeClient } from "@veezee/sdk"`; `const client = new VeezeeClient(); await client.mint();` mints and stores the free key the first time and reuses it on later runs. Reddit methods live on `client.reddit.search/getSubreddit/getSubredditPosts/getUser/getPost/resolveUrl`; X methods follow the same per-platform pattern (`client.x.search`, `client.x.getProfile`, `client.x.getTweets`, `client.x.getTweet`, `client.x.resolveUrl`). `client.resolveUrl` and `client.getUsage` are also available top-level. The `veezee` CLI (`npx @veezee/sdk init`) mints and stores the same key.Technical Analysis
The Skill recommends executing
npx @veezee/sdk initwithout specifying an exact package version, lockfile, or integrity hash. By default,npxmay retrieve and execute the package version currently resolved by the configured package registry. The executed code can therefore differ from the code that existed when the Skill was audited.This creates a supply-chain trust boundary: package maintainers, compromised publisher accounts, registry infrastructure, or a modified package release can change the effective executable payload after review. npm lifecycle hooks and CLI initialization code may execute with the invoking user's local privileges.
The same instruction indicates that the SDK mints and stores an API key, but it does not identify the storage location, file permissions, credential lifecycle, or protections against access by other local users and processes.
Attack Path
- An attacker compromises the package publisher, release process, registry account, or another relevant supply-chain component.
- The attacker publishes a malicious or compromised version of
@veezee/sdk. - A user or agent follows the Skill and runs `npx @vee ...[truncated 804 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
@veezee/sdkto an exact version that has been reviewed, rather than relying on the registry's current resolution. - Install dependencies through a committed lockfile and enforce package integrity verification.
- Prefer a documented local installation followed by execution with package downloads disabled.
- Audit package lifecycle scripts and the CLI entry point before permitting execution.
- Use an approved registry and dependency allowlist where available.
- Document where the minted key is stored and enforce owner-only permissions.
- Provide procedures for key revocation, rotation, and deletion.
- Avoid exposing the key through command-line arguments, logs, shell history, or broadly readable configuration files.
- Pin
