Back to skill

Security audit

Zero Api Key Web Search

Security checks for vulnerabilities and agentic risk

Overview

The skill’s purpose is coherent, but it asks users to install an unpinned external package whose executable code was not included for review.

Review this before installing. Use an isolated virtual environment, avoid installing as root, prefer a pinned and hash-verified package version, and only provide Bright Data or other provider credentials if you are comfortable with the installed package and providers receiving the relevant queries and URLs.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

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.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.