Back to skill

Security audit

scraping-twitter-profiles

Security checks across malware telemetry and agentic risk

Overview

The skill is a coherent Apify-based Twitter/X scraping guide, with clear third-party processing but weak credential-handling guidance.

Install only if you are comfortable sending Twitter/X targets and actor inputs to Apify. Store APIFY_TOKEN as a protected environment secret, avoid exposing it in pasted commands or logs, prefer safer authentication methods when available, and choose output paths deliberately because exports may contain profile data.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill instructs use of APIFY_TOKEN but does not warn against placing secrets on the command line or exposing them in logs, shell history, or screenshots. In this document, later examples pass the token in URL query strings, which increases the chance of credential leakage through terminal history, process inspection, proxy logs, and copied transcripts.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The manifest description at L003-L010 frames the skill as scraping Twitter/X profile data and returning account metadata like username, bio, follower count, following count, tweet count, verified status, and profile URL. However, the documented inputs add capabilities to extract follower lists, following lists, and retweeters from tweet URLs, which go beyond simple profile metadata retrieval and materially expand the skill's behavior.

External Transmission

Medium
Category
Data Exfiltration
Content
**REST API fallback:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["handle1", "handle2"]}'
Confidence
98% confidence
Finding
This skill sends user-supplied Twitter handles to a third-party service, Apify, which is an external data transmission. While external scraping is the intended purpose of the skill, the transmission is still security-relevant because users may not realize their target list and associated API token are being disclosed to an outside 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
98% confidence
Finding
Polling the run status with the token embedded in the URL risks leaking the APIFY_TOKEN via shell history, logging systems, browser or proxy logs, and observability tooling. This is more dangerous than generic external transmission because the credential itself is placed in a commonly logged location.

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
98% confidence
Finding
Polling the run status with the token embedded in the URL risks leaking the APIFY_TOKEN via shell history, logging systems, browser or proxy logs, and observability tooling. This is more dangerous than generic external transmission because the credential itself is placed in a commonly logged location.

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
98% confidence
Finding
Polling the run status with the token embedded in the URL risks leaking the APIFY_TOKEN via shell history, logging systems, browser or proxy logs, and observability tooling. This is more dangerous than generic external transmission because the credential itself is placed in a commonly logged location.

Missing User Warnings

Low
Confidence
91% confidence
Finding
This markdown file documents commands that automatically save results to local files, which is a data-affecting operation covered by the missing user warnings category for markdown files. The surrounding text presents file saving as automatic behavior but does not include any caution about local storage, overwrite risk, or handling exported profile data.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.