Back to skill

Security audit

Youcom Search

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed You.com search and extraction helper that sends user-provided queries or URLs to documented external APIs.

Install only if you are comfortable sending search queries and submitted URLs to You.com and ydc-index.io. Do not use it with secrets, private/internal URLs, regulated data, or sensitive repository content, and confirm any paid research or extraction call before use.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (9)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 149)May include surrounding context.

"YOUCOM_API_KEY environment variable is not set"

The API key is not loaded. Source your .env or restart the gateway:

bash
source ~/.openclaw/.env
systemctl --user restart openclaw-gateway

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

This code sends the provided research query to an external service at api.you.com and authenticates with an environment-sourced API key. While the module docstring notes the API key requirement, there is no user-facing notice at execution time or inline warning that the user's input will be transmitted to a third-party service.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 174)May include surrounding context.

md
"query": query,
        "num_results": min(num_results, 10),
    }
    url = "https://api.you.com/v1/agents/search?" + urllib.parse.urlencode(params)

    req = urllib.request.Request(
        url,

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 175)May include surrounding context.

md
"query": query,
        "num_results": min(num_results, 10),
    }
    url = "https://api.you.com/v1/agents/search?" + urllib.parse.urlencode(params)

    req = urllib.request.Request(
        url,

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api.md (reported line 7)May include surrounding context.

md
"query": query,
        "num_results": min(num_results, 10),
    }
    url = "https://api.you.com/v1/agents/search?" + urllib.parse.urlencode(params)

    req = urllib.request.Request(
        url,

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api.md (reported line 14)May include surrounding context.

md
"query": query,
        "num_results": min(num_results, 10),
    }
    url = "https://api.you.com/v1/agents/search?" + urllib.parse.urlencode(params)

    req = urllib.request.Request(
        url,

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/youcom_research.py (reported line 23)May include surrounding context.

python
"query": query,
        "num_results": min(num_results, 10),
    }
    url = "https://api.you.com/v1/agents/search?" + urllib.parse.urlencode(params)

    req = urllib.request.Request(
        url,

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/youcom_search.py (reported line 20)May include surrounding context.

python
"query": query,
        "num_results": min(num_results, 10),
    }
    url = "https://api.you.com/v1/agents/search?" + urllib.parse.urlencode(params)

    req = urllib.request.Request(
        url,

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The script can write the research response to an arbitrary output file via --out, but there is no confirmation prompt, log message, or warning near the write operation. For code files, file writes that lack any user disclosure may warrant a finding unless clearly disclosed elsewhere.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.