Back to skill

Security audit

crawlora-datasets

Security checks for vulnerabilities and agentic risk

Overview

This skill is a read-only Crawlora dataset query helper with disclosed external API use and no evidence of hidden execution, persistence, or destructive behavior.

Install only if you are comfortable sending queries and your Crawlora API key to Crawlora. Be especially careful with endpoints that return public contact information: avoid spam, harassment, doxxing, or bulk unsolicited outreach, and confirm the user's legitimate purpose before requesting email/contact fields.

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
  • 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
Findings (13)

Missing User Warnings

High
Confidence
92% confidence
Finding
The journalists endpoints are explicitly positioned for PR outreach and aggregate public contact records, which materially increases the risk of spam, targeted harassment, and abusive contact-list generation if users are not warned about safe use. In this skill context, the dataset is purpose-built for contact discovery, so omission of a clear misuse warning is more dangerous than for general directory/search endpoints.

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill instructs use of a shell helper (`scripts/crawlora.sh`) and therefore has code-execution capability, but the manifest does not declare any explicit tool scope or permissions boundary. In an agent environment, that omission can let the skill be invoked with broader-than-necessary shell access, increasing the risk of unintended command execution or misuse beyond simple API calls.

Missing User Warnings

Medium
Confidence
86% confidence
Finding
This markdown documents the `include_email` parameter as returning stored contact email addresses for TikTok creators, but it does not include any privacy or responsible-use warning for handling personal contact data. Because this file is an endpoint reference that directly describes data-access behavior, the absence of a caution about sensitive personal information is a documentation-level missing warning.

Missing User Warnings

Medium
Confidence
80% confidence
Finding
The file describes search over Facebook Page contact records including website, email, phone, and WhatsApp data, but it does not warn users that these fields may contain contact information requiring careful handling. For markdown files, user-facing docs should disclose behaviors that can affect privacy, and this endpoint reference currently presents the access as purely functional.

Missing User Warnings

Medium
Confidence
80% confidence
Finding
The GitHub users endpoints explicitly support filtering on public email, Twitter/X, blog, and general reachability, which can facilitate targeting individuals by contactability. The markdown does not include any warning about privacy-sensitive handling of public personal contact data, so users are not alerted to the implications of using these filters.

External Transmission

Medium
Category
Data Exfiltration
Content
#!/usr/bin/env bash
# Crawlora REST helper — minimal, dependency-free (curl only).
# Calls https://api.crawlora.net/api/v1 with your Crawlora API key.
# Get a free key (2,000 credits/mo, no card) at https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills.
#
Confidence
70% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
#!/usr/bin/env bash
# Crawlora REST helper — minimal, dependency-free (curl only).
# Calls https://api.crawlora.net/api/v1 with your Crawlora API key.
# Get a free key (2,000 credits/mo, no card) at https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills.
#
# Usage:
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
#!/usr/bin/env bash
# Crawlora REST helper — minimal, dependency-free (curl only).
# Calls https://api.crawlora.net/api/v1 with your Crawlora API key.
# Get a free key (2,000 credits/mo, no card) at https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills.
#
# Usage:
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
#!/usr/bin/env bash
# Crawlora REST helper — minimal, dependency-free (curl only).
# Calls https://api.crawlora.net/api/v1 with your Crawlora API key.
# Get a free key (2,000 credits/mo, no card) at https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills.
#
# Usage:
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
#!/usr/bin/env bash
# Crawlora REST helper — minimal, dependency-free (curl only).
# Calls https://api.crawlora.net/api/v1 with your Crawlora API key.
# Get a free key (2,000 credits/mo, no card) at https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills.
#
# Usage:
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
# Keep the API key out of the curl process command line. A private temporary
# config supplies the header and is removed automatically on exit.
curl_config="$(mktemp "${TMPDIR:-/tmp}/crawlora-curl.XXXXXX")"
chmod 600 "$curl_config"
trap 'rm -f "$curl_config"' EXIT
printf 'header = "x-api-key: %s"\n' "$CRAWLORA_API_KEY" >"$curl_config"
auth=(--config "$curl_config")
Confidence
80% confidence
Finding
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

External Transmission

Medium
Category
Data Exfiltration
Content
[ -n "$body" ] || body='{}'
  # Stream the body on stdin so curl never interprets a user value as its
  # @file shorthand (and cannot read local files supplied in a request body).
  printf '%s' "$body" | curl -fsS -X "$method" "${auth[@]}" \
    -H "Content-Type: application/json" --data-binary @- "${base}${path}"
fi
Confidence
70% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Intent-Code Divergence

Low
Confidence
95% confidence
Finding
The example says the nearby query uses a radius in meters and passes `radius_m=50000`, but the earlier API description states nearby uses `radius_km`. This is an active documentation contradiction about how the endpoint should be called, which can mislead users about the skill's actual behavior.

Static analysis

No suspicious patterns detected.