Back to skill

Security audit

Anysearch

Security checks across malware telemetry and agentic risk

Overview

This skill is a disclosed AnySearch web-search helper; it mainly needs normal privacy caution because queries, URLs, and optional API-key use go to an external service.

Install only if you are comfortable sending search queries and URLs you ask it to extract to AnySearch. Avoid using it on private, internal, or tokenized links unless you intend to disclose those URLs to the service, and store only the AnySearch API key in the skill's .env file.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill instructs the agent to execute local CLI commands, read files from the workspace, access environment-provided credentials, and make outbound network requests, yet it declares no permissions. This mismatch reduces transparency and can bypass policy or user expectations about what the skill is allowed to do, increasing the risk of unintended shell execution or secret exposure through the helper scripts.

Vague Triggers

Medium
Confidence
88% confidence
Finding
The trigger criteria are extremely broad, covering generic information retrieval, fact-checking, browsing, and many multi-intent queries, which could cause the skill to activate for a large fraction of normal user requests. In combination with its ability to run shell commands and access the network, over-triggering increases the chance of unnecessary external calls, unintended data disclosure to third-party services, and execution of higher-risk tooling when simpler built-in handling would suffice.

Missing User Warnings

Medium
Confidence
85% confidence
Finding
The spec explicitly supports fetching and returning full page content from arbitrary URLs, but it does not document any warning, consent requirement, or restrictions around sending user-supplied URLs to an external service. In an agent setting, this can cause sensitive internal links, private documents, or user-specific URLs to be transmitted off-platform and retrieved without the user understanding the privacy implications.

Env Variable Harvesting

High
Category
Data Exfiltration
Content
def build_parser() -> argparse.ArgumentParser:
    parser = argparse.ArgumentParser(prog="anysearch", description="AnySearch CLI")
    parser.add_argument("--api_key", default=os.environ.get("ANYSEARCH_API_KEY", ""), help="API key (optional)")
    subparsers = parser.add_subparsers(dest="command", help="Commands")
    search_p = subparsers.add_parser("search", help="Search the web")
    search_p.add_argument("query", help="Search query")
Confidence
70% confidence
Finding
os.environ.get("ANYSEARCH_API_KEY

Credential Access

High
Category
Privilege Escalation
Content
def _load_env():
    script_dir = os.path.dirname(os.path.abspath(__file__))
    for env_path in [os.path.join(script_dir, ".env"), os.path.join(script_dir, "..", ".env")]:
        if os.path.isfile(env_path):
            with open(env_path, "r", encoding="utf-8-sig") as f:
                for line in f:
Confidence
60% confidence
Finding
.env"

Credential Access

High
Category
Privilege Escalation
Content
def _load_env():
    script_dir = os.path.dirname(os.path.abspath(__file__))
    for env_path in [os.path.join(script_dir, ".env"), os.path.join(script_dir, "..", ".env")]:
        if os.path.isfile(env_path):
            with open(env_path, "r", encoding="utf-8-sig") as f:
                for line in f:
Confidence
60% confidence
Finding
.env"

Credential Access

High
Category
Privilege Escalation
Content
fi

_load_env() {
  for env_path in "$SCRIPT_DIR/.env" "$SCRIPT_DIR/../.env"; do
    if [[ -f "$env_path" ]]; then
      while IFS= read -r line || [[ -n "$line" ]]; do
        line="${line%%#*}"
Confidence
60% confidence
Finding
.env"

Credential Access

High
Category
Privilege Escalation
Content
fi

_load_env() {
  for env_path in "$SCRIPT_DIR/.env" "$SCRIPT_DIR/../.env"; do
    if [[ -f "$env_path" ]]; then
      while IFS= read -r line || [[ -n "$line" ]]; do
        line="${line%%#*}"
Confidence
60% confidence
Finding
.env"

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.