T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:22
- Finding
- Unpinned Third-Party Package Installation Creates Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 22–26 **Vulnerability Type**: Unpinned and unverifiable third-party dependency **Risk Level**: Medium ```markdown ## Install ```bash pip install zero-api-key-web-search ``` ``` ### Technical Analysis The installation instructions retrieve `zero-api-key-web-search` from the package index without specifying an exact version or cryptographic hash. Although the Skill metadata declares version `23.0.0`, the installation command does not bind the installed package to that version. The audited project contains only `SKILL.md`; it does not include the package implementation or a lock file that would allow reviewers to verify what code is installed and executed. Consequently, the effective implementation may change after this Skill has been reviewed. A compromised publisher account, malicious future release, or other supply-chain incident could cause users to install code different from the reviewed release. The package is expected to perform network operations because web search and page retrieval are its declared functions. Search queries and requested URLs will therefore be disclosed to the selected external providers. Optional Bright Data credentials are also configured through environment variables, but the package implementation needed to verify their storage and transmission behavior is absent from this repository. ### Attack Path 1. An attacker compromises the package publisher account or causes a malicious release to become the version selected by the unpinned installation command. 2. A user follows the documented `pip install zero-api-key-web-search` instruction. 3. The package manager downloads and installs the current package release rather than a specifically audited artifact. 4. Package installation hooks or subsequently invoked commands such as `zero-search`, `zero-browse`, or `zero-setup` execute the altered package code. 5. The malicious code runs ...[truncated 1112 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to the exact audited release: ```bash pip install zero-api-key-web-search==23.0.0 ``` 2. Distribute a requirements or lock file containing cryptographic hashes and require hash verification, for example with `pip install --require-hashes`. 3. Link the Skill release to an immutable source commit and document how the PyPI artifact can be reproduced and compared with that source. 4. Audit and include the executable implementation within the review scope rather than relying solely on external package contents. 5. Install the package in an isolated virtual environment under a non-privileged account; do not install it as root or with unrestricted system permissions. 6. Restrict network egress to documented search and browsing providers where practical. 7. Clearly disclose that search terms and requested URLs are transmitted to external providers. 8. Ensure optional credentials are scoped to the minimum required permissions, injected only when the relevant provider is explicitly enabled, excluded from logs, and never forwarded to unrelated hosts.
