T08 · Insecure Dependencies
- Location
SKILL.md:32- Finding
Unpinned Third-Party Packages Are Downloaded and Executed via npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 32-40
Vulnerability Type: Unpinned executable dependencies
Risk Level: HighComplete Code Snippet:
markdown 2. **Create an Instant appId + token** - Run: - `npx instant-cli init-without-files` - Capture the returned `appId` and `token`. 3. **Generate the Next.js app** - Run this from inside `~/apps` (because the command creates the project folder): - `cd ~/apps` - `npx create-instant-app <app-name> --next --codex --app <appId> --token <token>`Technical Analysis
The skill instructs the agent to invoke
instant-cliandcreate-instant-appthroughnpxwithout pinning reviewed versions or requiring integrity verification. If the packages are unavailable locally,npxcan retrieve and immediately execute package contents from the configured npm registry.Because no exact versions, lockfile constraints, checksums, or provenance requirements are specified, the executable payload may change after the skill has been reviewed. A compromised maintainer account, malicious package release, registry compromise, or unsafe registry configuration could cause attacker-controlled package or lifecycle code to execute with the local user's permissions. The generator command also receives the Instant
tokenas a command-line argument, placing that credential within reach of the executed package.Attack Path
- An attacker compromises a referenced npm package, its publisher account, its release process, or the configured package registry.
- The attacker publishes a malicious version under the expected package name.
- The agent follows the skill and runs an unversioned
npx instant-cliornpx create-instant-appcommand. npxresolves and executes the malicious package version.- The package reads accessible files, environment variables, cached credentials, or the Instant token passed to the generator.
...[truncated 632 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every executable npm package to an exact, reviewed version, such as
npx --yes instant-cli@X.Y.Z. - Record approved versions and integrity information in project-controlled configuration or a lockfile.
- Verify package ownership, provenance, signatures where supported, and registry configuration before execution.
- Prefer installing dependencies from a locked manifest and running their local binaries rather than dynamically resolving the latest release.
- Execute generators with restricted filesystem and network access where practical.
- Use short-lived, least-privileged credentials and rotate the Instant token if execution integrity is uncertain.
- Avoid passing secrets on the command line when the tool supports a protected input mechanism, because command arguments may be visible through process inspection or logs.
- Review generated files and dependency changes before committing, pushing, or deploying them.
- Pin every executable npm package to an exact, reviewed version, such as
