Back to skill

Security audit

serp-keyword-research

Security checks across malware telemetry and agentic risk

Overview

This looks like a legitimate Crawlora search skill, but it is broader than advertised and can send arbitrary API requests and user-provided data to Crawlora with the user's API key.

Review this before installing if you need strict data-boundary controls. Treat all queries, locations, business names, tickers, and request bodies as data sent to Crawlora and potentially upstream public search services. Use a dedicated low-privilege Crawlora key, avoid sensitive or confidential searches, and prefer a scoped wrapper or endpoint allowlist if this is deployed in a managed environment.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill instructs the agent to execute shell commands (`scripts/crawlora.sh`, `curl`) but does not declare any permissions for shell access. This creates a capability/permission mismatch that can bypass least-privilege expectations and makes it easier for downstream tooling to invoke external network actions without explicit user or platform approval.

Tp4

High
Category
MCP Tool Poisoning
Confidence
84% confidence
Finding
A description-behavior mismatch is security-relevant because users and reviewers may trust the skill as SERP/trends-only while the underlying client behavior can be repurposed for broader authenticated API access. Even if this file mostly documents search endpoints, a generic wrapper that accepts arbitrary paths/methods materially expands the attack surface and could enable unexpected data access or exfiltration through the same API key.

Description-Behavior Mismatch

Medium
Confidence
87% confidence
Finding
The endpoint inventory materially exceeds the skill's declared purpose of SERP and keyword research by exposing finance, maps/place data, jobs, and other verticals. This broadens the skill's effective capability surface, increasing the chance of unintended data access, user surprise, and policy bypass if an agent invokes undocumented-out-of-scope functions under the guise of simple search research.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The reference states that requests are sent to a third-party API and include user-supplied query/body parameters, but it does not warn that search terms and other inputs leave the local trust boundary. Users may unknowingly submit sensitive terms, company data, locations, or investigative queries to Crawlora and upstream search providers, creating privacy and compliance risk.

External Transmission

Medium
Category
Data Exfiltration
Content
Endpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).

All paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.

**56 endpoints across 6 platform group(s).**
Confidence
89% confidence
Finding
https://api.crawlora.net/

External Transmission

Medium
Category
Data Exfiltration
Content
curl -fsS -G "${auth[@]}" "${qs[@]}" "${base}${path}"
else
  [ -n "$body" ] || body="${rest[0]:-{}}"
  curl -fsS -X "$method" "${auth[@]}" \
    -H "Content-Type: application/json" -d "$body" "${base}${path}"
fi
Confidence
84% confidence
Finding
curl -fsS -X "$method" "${auth[@]}" \ -H "Content-Type: application/json" -d

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:23