Back to skill

Security audit

TikTok Scraper

Security checks across malware telemetry and agentic risk

Overview

This skill is a straightforward Apify-based TikTok scraping guide, with expected third-party API use and no hidden install-time or local persistence behavior.

Install only if you are comfortable using a paid Apify account for TikTok scraping. Treat APIFY_TOKEN as a secret, avoid pasting it into logs or shared chats, and be mindful that submitted TikTok URLs, keywords, run metadata, and scraped results may be processed and retained by Apify.

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 (7)

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill instructs users to configure an API token and send TikTok targets to a third-party service, but it does not provide a clear user-facing warning that queries, URLs, and authentication material will be transmitted off-platform. This creates a real privacy and secret-handling risk because operators may use the skill without understanding what data leaves the environment or that a paid external account is required.

External Transmission

Medium
Category
Data Exfiltration
Content
Returns dataset items directly. Replace `ACTOR_ID` with the relevant actor ID above.

```bash
curl -s -X POST \
  "https://api.apify.com/v2/acts/ACTOR_ID/run-sync-get-dataset-items?timeout=120" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
Confidence
88% confidence
Finding
This command performs an outbound POST to Apify and includes a bearer token plus user-supplied scraping targets in the request body. External transmission itself is expected for this skill, but it is still security-relevant because it exposes credentials and collected query targets to a third-party service if used without clear disclosure and controls.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Start
RUN=$(curl -s -X POST \
  "https://api.apify.com/v2/acts/ACTOR_ID/runs?waitForFinish=60" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.tiktok.com/@nike"],"skill":true}')
Confidence
88% confidence
Finding
This asynchronous start-run request sends user-defined targets and an authorization token to Apify, creating the same external transmission and credential exposure concerns as the sync flow. The skill context makes this moderately risky because scraping targets may include sensitive investigative, political, or commercial monitoring queries, yet the skill does not warn about third-party processing.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Start
RUN=$(curl -s -X POST \
  "https://api.apify.com/v2/acts/ACTOR_ID/runs?waitForFinish=60" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.tiktok.com/@nike"],"skill":true}')
Confidence
88% confidence
Finding
This asynchronous start-run request sends user-defined targets and an authorization token to Apify, creating the same external transmission and credential exposure concerns as the sync flow. The skill context makes this moderately risky because scraping targets may include sensitive investigative, political, or commercial monitoring queries, yet the skill does not warn about third-party processing.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Start
RUN=$(curl -s -X POST \
  "https://api.apify.com/v2/acts/ACTOR_ID/runs?waitForFinish=60" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.tiktok.com/@nike"],"skill":true}')
Confidence
88% confidence
Finding
This asynchronous start-run request sends user-defined targets and an authorization token to Apify, creating the same external transmission and credential exposure concerns as the sync flow. The skill context makes this moderately risky because scraping targets may include sensitive investigative, political, or commercial monitoring queries, yet the skill does not warn about third-party processing.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Start
RUN=$(curl -s -X POST \
  "https://api.apify.com/v2/acts/ACTOR_ID/runs?waitForFinish=60" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.tiktok.com/@nike"],"skill":true}')
Confidence
88% confidence
Finding
This asynchronous start-run request sends user-defined targets and an authorization token to Apify, creating the same external transmission and credential exposure concerns as the sync flow. The skill context makes this moderately risky because scraping targets may include sensitive investigative, political, or commercial monitoring queries, yet the skill does not warn about third-party processing.

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
80% confidence
Finding
This result-fetching request retrieves data from Apify using an authenticated external call, continuing the third-party data flow initiated earlier. While necessary for functionality, it remains a true exposure point because scraped data and access patterns are handled by an external provider and may be fetched without any privacy warning in the skill.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.