T08 · Insecure Dependencies
- Location
SKILL.md:9- Finding
Unpinned Third-Party Package Installation and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:9-12
Vulnerability Type: Unpinned npm dependency
Risk Level: MediumVulnerable Code
yaml install: - kind: node package: vibe-notion bins: [vibe-notionbot]Related runtime installation instructions also appear at
SKILL.md:379-385:bash npx -y -p vibe-notion vibe-notionbot ... bunx -p vibe-notion vibe-notionbot ... pnpm dlx --package vibe-notion vibe-notionbot ...Technical Analysis
The installation metadata and package-runner commands identify
vibe-notionwithout an exact version or integrity digest. Consequently, installation resolves the package version available from the registry at execution time rather than a version whose contents were reviewed with this Skill.The
npx -yinstruction compounds this risk by automatically approving package installation. npm packages may execute installation lifecycle hooks and arbitrary code when their binaries start. Therefore, a compromised maintainer account, malicious future release, or package-resolution incident could cause behavior materially different from the audited documentation.No evidence establishes that the current package is malicious. The confirmed weakness is the absence of dependency pinning and integrity controls.
Attack Path
- An attacker compromises the package publisher, registry delivery path, or a future
vibe-notionrelease. - A user or agent installs the package through the unversioned Skill installer or invokes one of the documented package-runner commands.
- The package manager resolves and downloads the attacker-controlled release.
- Package lifecycle code or the
vibe-notionbotexecutable runs with the invoking user's local permissions. - Malicious code accesses resources available to that process, potentially including
NOTION_TOKEN, local files, and Notion data accessible to the configured integration.
Impact Asse
...[truncated 637 chars]
- An attacker compromises the package publisher, registry delivery path, or a future
- Remediation
View remediation
Remediation Suggestions
-
Pin the package to an exact reviewed version in the Skill metadata, for example:
yaml install: - kind: node package: vibe-notion@1.5.0 bins: [vibe-notionbot] -
Pin the same exact version in every fallback command:
bash npx -p vibe-notion@1.5.0 vibe-notionbot ... bunx -p vibe-notion@1.5.0 vibe-notionbot ... pnpm dlx --package vibe-notion@1.5.0 vibe-notionbot ... -
Avoid
npx -yfor first-time or unverified installations so that package retrieval is not silently approved. -
Use a lockfile and registry integrity verification where the installation environment supports them.
-
Review package contents, dependency changes, lifecycle scripts, and published provenance before updating the pinned version.
-
Run the CLI with least privilege: use a narrowly scoped Notion integration, share only required workspace objects with it, and avoid exposing unrelated secrets in the process environment.
-
