T08 · Insecure Dependencies
- Location
SKILL.md:426- Finding
Unpinned Third-Party Packages and Remote npx Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:35,SKILL.md:69-71,SKILL.md:426-435,reference.md:20,troubleshooting.md:165,examples/basic-agent.ts:7,examples/haiku-poet-agent.ts:7
Vulnerability Type: Supply-chain exposure through mutable package resolution and remote package execution
Risk Level: MediumVulnerable Code
bash npm install @openserv-labs/sdk @openserv-labs/client zodbash npm init -y && npm pkg set type=module npm i @openserv-labs/sdk @openserv-labs/client dotenv zod npm i -D @types/node tsx typescriptbash # Check if updates are available npx skills check # Update all installed skills to latest versions npx skills updatebash npx skills add openserv-labs/skillsThe executable examples also direct users to invoke
tsxthroughnpx:typescript /** * Run with: npx tsx basic-agent.ts */Technical Analysis
The installation instructions resolve dependencies without exact versions or integrity constraints. The audited project does not include a package manifest or lockfile that binds these commands to reviewed artifacts. Consequently, executing the documented commands at different times may install materially different package versions.
The
npxcommands create an additional execution risk. If the requested package is not already available locally,npxcan download it from the configured registry and execute its entry point. Theskills updateandskills addoperations can also replace or add executable instructions whose contents were not part of this audit.This does not establish that the named packages are malicious. The vulnerability is that the documented workflow permits mutable, remotely supplied code and Skill content to execute without version pinning or review.
Attack Path
- An attacker compromises a relevant package release, publishing account, registry route, or trans ...[truncated 1068 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every production and development dependency to an exact, reviewed version.
- Add and commit
package.jsonand a package-manager lockfile. - Prefer
npm ciover mutablenpm installoperations in repeatable environments. - Use
npm ci --ignore-scriptswhere package lifecycle scripts are unnecessary and compatibility has been verified. - Replace unversioned
npxcommands with locally installed, pinned executables or invoke an explicitly pinned package version. - Verify registry provenance, package signatures or attestations, and integrity hashes where supported.
- Review the diff and source of Skill updates before installation rather than automatically updating all installed Skills.
- Run installation and update operations in a sandbox without production credentials or funded wallet keys.
