Back to skill

Security audit

You.com Web Search & Research API

Security checks across malware telemetry and agentic risk

Overview

This is a straightforward You.com API integration guide with disclosed API-key and network use, and no hidden execution or persistence behavior found.

Install this if you intend to build against You.com APIs. Keep YDC_API_KEY in secret storage or environment variables, do not commit it, review any generated code or dependency installs, and treat returned web content as untrusted before rendering it or feeding it to an agent.

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 (8)

External Transmission

Medium
Category
Data Exfiltration
Content
def research(query: str, effort: str = "standard") -> dict:
    resp = requests.post(
        "https://api.you.com/v1/research",
        headers={"X-API-Key": YDC_API_KEY, "Content-Type": "application/json"},
        json={"input": query, "research_effort": effort},
Confidence
91% confidence
Finding
This duplicate finding points to the same outbound transmission in the Python Research API example. The risk is the same: user input is exfiltrated to an external provider and may include sensitive data if the integrator is not careful.

External Transmission

Medium
Category
Data Exfiltration
Content
def get_contents(urls: list[str]) -> list[dict]:
    resp = requests.post(
        "https://ydc-index.io/v1/contents",
        headers={**HEADERS, "Content-Type": "application/json"},
        json={"urls": urls, "formats": ["markdown"]},
Confidence
92% confidence
Finding
This duplicate finding points to the same outbound transmission in the Python Contents API example. Because URLs themselves can be sensitive, this can expose internal resource locations or confidential research targets to the external API.

External Transmission

Medium
Category
Data Exfiltration
Content
def research(query: str, effort: str = "standard") -> dict:
    resp = requests.post(
        "https://api.you.com/v1/research",
        headers={"X-API-Key": YDC_API_KEY, "Content-Type": "application/json"},
        json={"input": query, "research_effort": effort},
Confidence
91% confidence
Finding
This duplicate finding points to the same outbound transmission in the Python Research API example. The risk is the same: user input is exfiltrated to an external provider and may include sensitive data if the integrator is not careful.

External Transmission

Medium
Category
Data Exfiltration
Content
def get_contents(urls: list[str]) -> list[dict]:
    resp = requests.post(
        "https://ydc-index.io/v1/contents",
        headers={**HEADERS, "Content-Type": "application/json"},
        json={"urls": urls, "formats": ["markdown"]},
Confidence
92% confidence
Finding
This duplicate finding points to the same outbound transmission in the Python Contents API example. Because URLs themselves can be sensitive, this can expose internal resource locations or confidential research targets to the external API.

External Transmission

Medium
Category
Data Exfiltration
Content
}

const research = async (input: string, effort = 'standard'): Promise<ResearchResponse> => {
  const resp = await fetch('https://api.you.com/v1/research', {
    method: 'POST',
    headers: {
      'X-API-Key': YDC_API_KEY,
Confidence
86% confidence
Finding
This finding highlights the same external endpoint reference in the TypeScript Research API snippet. Even without malicious intent, embedding direct examples that send arbitrary input off-platform can lead to accidental leakage when copied into sensitive applications.

External Transmission

Medium
Category
Data Exfiltration
Content
}

const getContents = async (urls: string[]): Promise<ContentsResult[]> => {
  const resp = await fetch('https://ydc-index.io/v1/contents', {
    method: 'POST',
    headers: {
      'X-API-Key': YDC_API_KEY,
Confidence
92% confidence
Finding
The TypeScript Contents API example sends selected URLs to an external service for retrieval. If developers pass private URLs, ticket links, intranet pages, or otherwise sensitive targets, those references are disclosed externally and their contents may be fetched by the provider.

External Transmission

Medium
Category
Data Exfiltration
Content
}

const research = async (input: string, effort = 'standard'): Promise<ResearchResponse> => {
  const resp = await fetch('https://api.you.com/v1/research', {
    method: 'POST',
    headers: {
      'X-API-Key': YDC_API_KEY,
Confidence
86% confidence
Finding
This finding highlights the same external endpoint reference in the TypeScript Research API snippet. Even without malicious intent, embedding direct examples that send arbitrary input off-platform can lead to accidental leakage when copied into sensitive applications.

External Transmission

Medium
Category
Data Exfiltration
Content
def research(query: str, effort: str = "standard") -> dict:
    resp = requests.post(
        "https://api.you.com/v1/research",
        headers={"X-API-Key": YDC_API_KEY, "Content-Type": "application/json"},
        json={"input": query, "research_effort": effort},
    )
Confidence
86% confidence
Finding
This finding highlights the same external endpoint reference in the Python Research API snippet. The danger is contextual rather than exploitative: copying the sample into enterprise environments may unintentionally transmit confidential prompts to a third-party API.

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.