Agent Economy Report

Skill code audit

CAUTION version 2.0.0 · audited 2026-09-09

anysearch-mcp @anysearch-ai

This package is documentation only — there is no executable code, just a SKILL.md that tells an agent how to connect to the AnySearch remote MCP search service (web search, vertical/domain search, batch search, and URL-to-Markdown extraction). All network destinations belong to the vendor (api.anysearch.com) plus links to GitHub proxy tools; nothing is sent to unrelated third parties. Two things deserve a look before installing: the skill tells the agent it 'MUST' create an account on the user's real email address via a single curl call and then store the returned plaintext API key into config files, and it instructs the agent to relay a message coaching the user to mark AnySearch email as 'Not Spam'. The stdio/SSE setups use 'npx -y mcp-remote' / 'npx -y supergateway', which downloads and runs third-party npm packages at launch. Because the skill's tools pull arbitrary web pages and search results into the agent's context (up to 50,000 characters per page), it is a natural channel for indirect prompt injection from untrusted websites. No credential theft, obfuscation, persistence, or payment redirection appears anywhere in the files.

Instructions try to steer the agent beyond the declared purpose. The 'extract' tool returns up to 50,000 characters of arbitrary web page content into the agent context (SKILL.md line 374), and search tools return remote Markdown, so untrusted site text can reach the model. The skill document itself also issues binding-sounding directives to the agent, e.g. SKILL.md line 51 'On success the agent MUST:' and line 55, which tells the agent to relay a message coaching the user to whitelist the vendor's email.

Declared purposeA configuration/usage guide for the AnySearch MCP server, providing agents with real-time web search, vertical domain search, parallel batch search, and URL content extraction as Markdown.
Observed behaviorPure documentation: JSON config snippets for OpenCode, Claude Desktop, Cursor, Windsurf, VS Code Copilot and Cline pointing at https://api.anysearch.com/mcp with an Authorization: Bearer header; a curl command to register an account and receive a one-time API key; instructions for the agent to persist that key; and descriptions of four remote tools (search, get_sub_domains, batch_search, extract). No scripts, no local file writes performed by the package itself, no encoded blobs.
Verdict, rules onlyCAUTION · reads credential-like environment variables: ANYSEARCH_API_KEY
Verdict, AICAUTION
Final verdictCAUTION (never better than either pass)

Capabilities

capabilityvs purposedetail
networkneededAll traffic goes to the vendor's own endpoints (api.anysearch.com/mcp for search, api.anysearch.com/v1/auth/email/register for signup). Search queries, target URLs and extracted page content are sent to AnySearch.
shellneededA bash/curl snippet (SKILL.md line 21-25) for account registration, and npx commands to launch stdio/SSE proxies.
credentialsneededHandles an ANYSEARCH_API_KEY; the agent is instructed to place the one-time plaintext key into MCP config and/or an environment variable. The key is the skill's own credential, not the user's other secrets.
install_packagesexceeds purpose'npx -y mcp-remote' and 'npx -y supergateway' fetch and execute third-party npm packages at agent startup; only needed for clients lacking Streamable HTTP support.
filesystem_writeneededThe agent is told to write the API key into client config files (opencode.json, claude_desktop_config.json, .env). No writes are performed by the package itself.
browserneededThe 'extract' tool fetches arbitrary http/https URLs server-side and returns page content as Markdown to the agent.

Findings

severityfinding
mediumAgent-initiated account creation with the user's real email address
The skill instructs the agent to submit the user's real email to the vendor to auto-create an account and receive an API key. This sends personal data (email) to a third party and produces an account plus a mailed password without any verification step. Should only happen with explicit user consent.
SKILL.md:22 curl -s -X POST "https://api.anysearch.com/v1/auth/email/register" \
lowImperative instructions aimed at the agent
The document uses mandatory language to direct agent behavior (persist key, relay a specific message). It does not attempt to override safety rules or other tools, but users should note the skill text is trying to script agent actions rather than merely describe an API.
SKILL.md:51 On success the agent MUST:
lowAgent asked to write a secret into configuration files
A plaintext API key is to be stored by the agent into client config or environment. This is normal for API setup but means the agent modifies configuration files and holds a credential; the key could end up committed to shared configs.
SKILL.md:53 Put `data.api_key.key` into the MCP server config as the `Authorization: Bearer <key>` value (and/or set `ANYSEARCH_API_KEY`)
lowAgent instructed to coach the user into whitelisting vendor email
The skill scripts a message that asks the user to move vendor mail out of spam. This benefits the vendor's deliverability and is unrelated to the search functionality; it is mild social engineering delivered through the agent.
SKILL.md:55 You may need to mark it as "Not Spam" to ensure future emails arrive correctly.
lowServer can return new credentials that the agent persists
The remote service may hand back a freshly registered API key when quota runs out, and the agent is told to save it. Credential material therefore flows from the server into local config; the skill does ask for user confirmation first.
SKILL.md:88 | Key exhausted, auto-registered key returned | Agent should ask user for confirmation, then persist the new key |
mediumDownload-and-run third-party npm proxies at startup
Configurations use 'npx -y mcp-remote' and 'npx -y supergateway', which fetch the latest version of those packages from npm and execute them each launch, with the API key passed on the command line. Supply-chain risk from unpinned versions, and the key may be visible in the process list.
SKILL.md:193 "command": "npx",
mediumUntrusted web content enters the agent context
The extract and search tools inject large amounts of remote, attacker-controllable text into the agent. For an agent holding credentials or able to spend money, this is a standard indirect prompt-injection vector and warrants restricting what the agent may act on from search output.
SKILL.md:374 Fetch full page content from a URL and return as Markdown. Truncated at 50,000 characters. HTML pages only.
infoVendor discloses data flow to its own service
The publisher acknowledges that queries, fetched URLs, page content and registration email are transmitted to AnySearch. This is consistent with the observed configuration and is disclosed rather than hidden.
skill-card.md:20 Risk: AnySearch receives submitted searches, extracted URLs and page content, and optional registration email or API key data.

0 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
anysearch.comnot in the service indexSKILL.md:71
api.anysearch.comnot in the service indexSKILL.md:22
clawhub.ainot in the service indexskill-card.md:7
github.comnot in the service indexSKILL.md:185
opencode.ainot in the service indexSKILL.md:123
www.anysearch.comnot in the service indexSKILL.md:36
www.apache.orgnot in the service indexLICENSE:3

Other facts

Binaries invokedbash, curl, npx
Environment variables readANYSEARCH_API_KEY
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes0
Persistence0

Files audited

filelinessha256
LICENSE1996ec10776eb3899e7…
NOTICE462b0a542344f2c54…
SECURITY.md495aa051400e37b350…
SKILL.md37857c6d30ee242a168…
_meta.json6fb61477d83e9df7f…
skill-card.md4679607fbbfd058be9…

For agents

JSON: https://agenteconomy.report/k/anysearch-mcp.audit.json · badge: https://agenteconomy.report/k/anysearch-mcp.audited.svg · skill rating: /k/anysearch-mcp · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).