Back to skill

Security audit

scraping-tweets-by-keyword

Security checks across malware telemetry and agentic risk

Overview

This skill is a straightforward Apify-based tweet scraping guide, but users should be deliberate about sending queries to a third party and saving collected datasets.

Install only if you intend your agent to use Apify for tweet collection. Treat search terms and resulting datasets as potentially sensitive, confirm before exporting files, and prefer safer token handling than putting APIFY_TOKEN in command URLs when your Apify tooling supports it.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (8)

Vague Triggers

Medium
Confidence
94% confidence
Finding
The trigger language is broad enough to activate on many generic requests involving tweet collection or analysis, which can cause over-invocation of a data-exporting skill. In an agent setting, overly broad routing increases the chance of sending user queries and collection parameters to an external scraping service when the user did not explicitly request that action.

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
The skill metadata advertises a narrow set of returned tweet fields, but the body documents broader raw dataset access and a user-supplied customMapFunction. This mismatch can mislead users and downstream agents about the scope of data handling and execution-like transformation capability, increasing the risk of oversharing data or invoking unsafe behavior without informed consent.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill recommends automatic file saving and dataset export but does not warn that files will be written locally or that collected tweet data may contain sensitive or regulated information. In agent environments, silent persistence can create privacy, retention, and data governance issues, especially if the user only asked for a summary rather than a saved dataset.

External Transmission

Medium
Category
Data Exfiltration
Content
**REST API fallback:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["<query>"], "maxItems": 200}'
Confidence
97% confidence
Finding
This skill explicitly sends user-provided search terms and API credentials to an external third-party service via Apify. External transmission is expected for this skill's purpose, but it remains security-relevant because user input and access tokens leave the local trust boundary and may be logged, retained, or processed by the provider.

External Transmission

Medium
Category
Data Exfiltration
Content
Save `id` as `RUN_ID`. Poll until `status = SUCCEEDED`:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'
```

Fetch results:
Confidence
94% confidence
Finding
Polling run status via a URL containing the APIFY_TOKEN continues transmitting credentials to an external service and also models insecure token placement in the query string. Query-string secrets are more likely to leak via shell history, logs, proxies, or monitoring systems.

External Transmission

Medium
Category
Data Exfiltration
Content
Save `id` as `RUN_ID`. Poll until `status = SUCCEEDED`:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'
```

Fetch results:
Confidence
94% confidence
Finding
Polling run status via a URL containing the APIFY_TOKEN continues transmitting credentials to an external service and also models insecure token placement in the query string. Query-string secrets are more likely to leak via shell history, logs, proxies, or monitoring systems.

External Transmission

Medium
Category
Data Exfiltration
Content
Save `id` as `RUN_ID`. Poll until `status = SUCCEEDED`:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'
```

Fetch results:
Confidence
94% confidence
Finding
Polling run status via a URL containing the APIFY_TOKEN continues transmitting credentials to an external service and also models insecure token placement in the query string. Query-string secrets are more likely to leak via shell history, logs, proxies, or monitoring systems.

Intent-Code Divergence

Low
Confidence
77% confidence
Finding
The workflow implies a single query string is constructed before execution, while the input schema documents searchTerms as an array and the API examples submit arrays of queries. This is a real documentation inconsistency about how searches are represented and passed to the actor.

VirusTotal

61/61 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.