Back to skill

Security audit

Google Search API - Organic SERP, Knowledge Graph, PAA, AI Overview

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Google search API integration with an expected API key and optional package install guidance.

Install only if you are comfortable sending search queries to Scavio and managing a SCAVIO_API_KEY. Prefer the direct HTTPS example for the smallest dependency footprint; if using the LangChain package, install it in an isolated environment and review the package source or hashes where available.

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:156
Finding
Third-Party Python Dependency Installed Without Integrity Verification## Vulnerability Details **File Location**: `SKILL.md`, lines 156-164 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium **Vulnerable code:** ```markdown ## LangChain ```bash pip install langchain-scavio==4.0.2 ``` ```python from langchain_scavio import ScavioSearchTool tool = ScavioSearchTool(engine="google") ``` ``` ### Technical Analysis The Skill instructs users or agents to install `langchain-scavio==4.0.2` directly from the default Python package index and then import it. Although pinning an exact version reduces exposure to unexpected future upgrades, the instruction does not authenticate the downloaded artifacts with cryptographic hashes or provide locally auditable source code. Consequently, security depends on the integrity of the package publisher, package-index account, distribution infrastructure, and selected artifacts. If the pinned release or its distribution channel is compromised, installation from source may invoke attacker-controlled build behavior, while the subsequent Python import can execute attacker-controlled module initialization code. The dependency is presented as an optional LangChain integration rather than a requirement for the documented direct HTTPS API workflow. Its installation therefore introduces avoidable supply-chain exposure beyond the minimum capabilities required to perform a search. ### Attack Path 1. An attacker compromises the publisher account, package artifact, source distribution, or relevant package-delivery infrastructure for the referenced dependency. 2. The attacker causes a malicious artifact to be distributed under the pinned `4.0.2` release or otherwise supplied during dependency resolution. 3. A user or automated agent follows the Skill instructions and executes `pip install langchain-scavio==4.0.2`. 4. Malicious behavior runs during an applicable source-build process or when `langchain_scavio` is imported. 5. The payload op ...[truncated 896 chars]
Remediation
## Remediation Suggestions 1. Publish cryptographic SHA-256 hashes for all approved distributions and require hash verification, for example through a locked requirements file used with `pip install --require-hashes`. 2. Link to the dependency's official, auditable source repository and document how the package artifact corresponds to a reviewed source revision. 3. Install the package in an isolated virtual environment or restricted container rather than a privileged or shared Python environment. 4. Run the integration with only the environment variables, filesystem access, and network destinations required for its search function. 5. Prefer binary wheels from trusted sources and review source distributions and build metadata before allowing source builds. 6. Clearly mark the LangChain package as optional and retain the direct HTTPS API example as the minimal-dependency workflow. 7. Continuously scan the pinned package and its transitive dependencies for known vulnerabilities and publisher or artifact changes.
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

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:37