tavily-research-pro

Security checks across malware telemetry and agentic risk

Overview

This skill is a Tavily research helper that sends user-entered queries and URLs to Tavily as disclosed, with no evidence of hidden persistence or unrelated data access.

Install only if you intend to use Tavily for web research. Avoid submitting secrets, private internal URLs, tokenized links, regulated data, or confidential project details unless you are comfortable sending them to Tavily. The malformed _meta.json packaging is worth noting, but the embedded code matches the documented search behavior.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
Findings (9)

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill sends the full user query to Tavily's external API, which can expose sensitive or proprietary information if users enter secrets, internal project names, or regulated data. This is a real privacy/security issue because there is no user-facing disclosure, consent step, or filtering/redaction before transmission.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The script transmits a user-supplied URL and the Tavily API key to a third-party service without any explicit disclosure, consent, or trust-boundary warning. Even if this is the intended product behavior, it creates a real data-exfiltration risk because users may pass internal, sensitive, or tokenized URLs assuming the script processes them locally.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The script transmits the user-supplied query and an API credential to a third-party service without any visible disclosure, consent step, or local-only alternative. This creates a real privacy and data-handling risk because users may enter sensitive topics assuming analysis is local, while the skill silently sends that data off-box.

External Transmission

Medium
Category
Data Exfiltration
Content
console.log(`\n🔍 **正在检索关于 "${query}" 的深度数据...**\n`);

const resp = await fetch("https://api.tavily.com/search", {
  method: "POST",
  headers: { 
    "Content-Type": "application/json",
Confidence
84% confidence
Finding
fetch("https://api.tavily.com/search", { method: "POST"

External Transmission

Medium
Category
Data Exfiltration
Content
console.log(`\n🔍 **正在检索关于 "${query}" 的深度数据...**\n`);

const resp = await fetch("https://api.tavily.com/search", {
  method: "POST",
  headers: { 
    "Content-Type": "application/json",
Confidence
84% confidence
Finding
https://api.tavily.com/

External Transmission

Medium
Category
Data Exfiltration
Content
}

const apiKey = (process.env.TAVILY_API_KEY ?? "").trim();
const resp = await fetch("https://api.tavily.com/extract", {
  method: "POST",
  headers: { 
    "Content-Type": "application/json",
Confidence
90% confidence
Finding
fetch("https://api.tavily.com/extract", { method: "POST"

External Transmission

Medium
Category
Data Exfiltration
Content
}

const apiKey = (process.env.TAVILY_API_KEY ?? "").trim();
const resp = await fetch("https://api.tavily.com/extract", {
  method: "POST",
  headers: { 
    "Content-Type": "application/json",
Confidence
90% confidence
Finding
https://api.tavily.com/

External Transmission

Medium
Category
Data Exfiltration
Content
if (!query) { console.error("请输入分析话题。"); process.exit(1); }

const apiKey = (process.env.TAVILY_API_KEY ?? "").trim();
const resp = await fetch("https://api.tavily.com/search", {
  method: "POST",
  headers: { 
    "Content-Type": "application/json",
Confidence
86% confidence
Finding
fetch("https://api.tavily.com/search", { method: "POST"

External Transmission

Medium
Category
Data Exfiltration
Content
if (!query) { console.error("请输入分析话题。"); process.exit(1); }

const apiKey = (process.env.TAVILY_API_KEY ?? "").trim();
const resp = await fetch("https://api.tavily.com/search", {
  method: "POST",
  headers: { 
    "Content-Type": "application/json",
Confidence
86% confidence
Finding
https://api.tavily.com/

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal