Back to skill

Security audit

x-scraper

Security checks across malware telemetry and agentic risk

Overview

This skill is a straightforward Apify-based X/Twitter scraping guide, with expected third-party API use and no hidden code or persistence in the artifact.

Install this only if you are comfortable using a paid Apify account for X/Twitter scraping and sending your selected search terms through Apify under your API token. Avoid sensitive searches unless Apify's handling, retention, and billing terms are acceptable to you, and use a scoped/rotatable token where possible.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (9)

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill instructs users to send both search queries and an Apify bearer token to a third-party service without clearly warning about that data transfer in the description/setup. This creates a privacy and credential-handling risk because sensitive search intent and authentication material are transmitted off-platform, and users may not realize the trust boundary change.

External Transmission

Medium
Category
Data Exfiltration
Content
Returns dataset items directly. Use for small queries (finishes within 300s).

```bash
curl -s -X POST \
  "https://api.apify.com/v2/acts/nfp1fpt5gUlBwPcor/run-sync-get-dataset-items?timeout=120" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
Confidence
97% confidence
Finding
This command sends user-provided search terms and an authorization bearer token to Apify over the network. External transmission is expected for this skill, but it remains security-relevant because it exposes user input and credentials to a third-party service and should therefore be clearly disclosed and minimized.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
curl -s -X POST \
  "https://api.apify.com/v2/acts/nfp1fpt5gUlBwPcor/run-sync-get-dataset-items?timeout=120" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms":["from:NASA"],"sort":"Latest","maxItems":50,"skill":true}'
Confidence
96% confidence
Finding
The hardcoded Apify API endpoint confirms that requests are sent to an external service boundary. This is not inherently malicious in a scraping integration, but it is a real security concern because it transfers user queries and relies on a third-party processor authenticated by the user's token.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
curl -s -X POST \
  "https://api.apify.com/v2/acts/nfp1fpt5gUlBwPcor/run-sync-get-dataset-items?timeout=120" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms":["from:NASA"],"sort":"Latest","maxItems":50,"skill":true}'
Confidence
96% confidence
Finding
The hardcoded Apify API endpoint confirms that requests are sent to an external service boundary. This is not inherently malicious in a scraping integration, but it is a real security concern because it transfers user queries and relies on a third-party processor authenticated by the user's token.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
curl -s -X POST \
  "https://api.apify.com/v2/acts/nfp1fpt5gUlBwPcor/run-sync-get-dataset-items?timeout=120" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms":["from:NASA"],"sort":"Latest","maxItems":50,"skill":true}'
Confidence
96% confidence
Finding
The hardcoded Apify API endpoint confirms that requests are sent to an external service boundary. This is not inherently malicious in a scraping integration, but it is a real security concern because it transfers user queries and relies on a third-party processor authenticated by the user's token.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
curl -s -X POST \
  "https://api.apify.com/v2/acts/nfp1fpt5gUlBwPcor/run-sync-get-dataset-items?timeout=120" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms":["from:NASA"],"sort":"Latest","maxItems":50,"skill":true}'
Confidence
96% confidence
Finding
The hardcoded Apify API endpoint confirms that requests are sent to an external service boundary. This is not inherently malicious in a scraping integration, but it is a real security concern because it transfers user queries and relies on a third-party processor authenticated by the user's token.

External Transmission

Medium
Category
Data Exfiltration
Content
done

# 3. Fetch results
curl -s \
  "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?clean=true&limit=100" \
  -H "Authorization: Bearer $APIFY_TOKEN"
```
Confidence
91% confidence
Finding
Fetching dataset items from Apify continues the third-party data exposure pattern by retrieving potentially sensitive scraped results through an external service using the same bearer token. The context makes this expected functionality, but the risk remains if users are unaware that collected content and metadata are processed and stored externally.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The example silently applies an English-only language filter, which can bias or truncate results without user consent. While not a direct code-execution issue, it can mislead users, distort downstream analysis, and cause incomplete data collection in a way that is not clearly justified.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
Several scenario examples impose English-language filtering by default for domains like crypto, finance, and politics, which can systematically exclude relevant non-English content. In a scraping/analysis context this increases the risk of biased outputs and user misunderstanding about dataset completeness.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.