Back to skill

Security audit

Tavily Search

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Tavily search tool, but it ships with and uses a plaintext API key while sending user queries to an external service.

Review before installing. Treat searches as data sent to Tavily, avoid sensitive or regulated queries, and replace or remove the bundled config.json API key before use. Prefer storing your own Tavily key in a safer secret mechanism if your environment supports it.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Lp3

Medium
Category
MCP Least Privilege
Confidence
84% confidence
Finding
The skill describes capabilities that imply network access and local configuration file writes (`config.json`), yet it declares no explicit permissions. This creates a transparency and governance gap: users or agent platforms may authorize or run the skill without understanding that it can transmit data externally and persist secrets locally, increasing the chance of unintended data exposure or unsafe execution.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill does not warn that user queries and retrieved web content are sent to a third-party external service, which can expose sensitive prompts, research topics, or embedded private data. In an agent setting, this is particularly risky because users may assume a local tool while the skill actually forwards content off-platform to Tavily and potentially stores or processes it externally.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The script stores the Tavily API key in a local config.json file in plaintext without warning, permission hardening, or use of a secure secret store. On multi-user systems or in shared workspaces, another local user, process, backup system, or accidental commit could recover the credential and misuse the linked account or quota.

External Transmission

Medium
Category
Data Exfiltration
Content
}
$config = Get-Content $configPath | ConvertFrom-Json
$apiKey = $config.api_key
$apiUrl = "https://api.tavily.com/search"

# 搜索功能
if ($Command -eq "search" -or $Command -eq "research" -or $Command -eq "image") {
Confidence
85% confidence
Finding
The script transmits user-supplied queries and the API key to an external service over the network, which is expected for a search skill but still creates a real data-exposure boundary. If agents pass sensitive prompts, internal identifiers, or proprietary content as queries, that data leaves the local environment and is disclosed to a third party.

Static analysis

No suspicious patterns detected.