T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned and Unverifiable Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20–23
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code:
yaml install: - spec: "pip install web-auto-form" type: pip - spec: "playwright install chromium" type: shellTechnical Analysis
The Skill instructs users to install
web-auto-formfrom the default Python package index without specifying an exact version, package hash, lockfile, or trusted repository. It also downloads a Chromium build through Playwright without documenting an integrity-pinned browser revision.The reviewed project contains only documentation and a JSON tool schema; it does not include the package implementation. Consequently, the implementation that receives form data, reads upload files, controls the browser, and performs network requests cannot be verified from this artifact. A future package update could materially change the effective behavior after the Skill has already passed review.
This is a supply-chain weakness rather than evidence that the current package is malicious. The risk arises because mutable external components execute with the invoking user's permissions and receive access to sensitive form content.
Attack Path
- An attacker compromises the package publisher account, distribution infrastructure, or an upstream dependency.
- The attacker publishes a modified release under the same package name.
- A user follows the documented installation instruction without a version or hash constraint.
- The package manager installs the attacker-controlled release.
- The package executes locally when the Skill is invoked.
- The compromised implementation can access form values, local files selected for upload, browser content, and network communications available to the process.
Impact Assessment
Exploitation would provide code execution under the account running the ...[truncated 458 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
web-auto-formto an exact, reviewed version. - Publish and use a lockfile containing all transitive dependencies.
- Require cryptographic hashes during installation, such as through pip's
--require-hashesmode. - Pin and verify the Playwright and Chromium revisions.
- Include the executable implementation in the reviewed artifact or link it to a reproducible source commit.
- Use a trusted private package registry or signed release artifacts where practical.
- Run the dependency in a restricted environment with narrowly scoped filesystem and network access.
- Establish automated dependency scanning and a controlled update-review process.
- Pin
