Back to skill

Security audit

scraping-instagram-profile-data

Security checks across malware telemetry and agentic risk

Overview

This skill is purpose-aligned for Apify-based Instagram scraping, but users should be careful with third-party transmission, broad URL inputs, API token handling, and saved exports.

Use this only if you are allowed to send the requested Instagram targets and retrieved profile or post data to Apify/Apidojo. Prefer profile handles or profile URLs unless you deliberately want broader scraping, keep APIFY_TOKEN out of logs where possible, and store or delete exported files according to your data-handling rules.

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

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill routes account queries and resulting profile data to Apify/Apidojo, but it does not clearly warn users that their requested handles and retrieved data are sent to a third-party service. This creates a transparency and data-governance gap, especially in enterprise settings where external sharing may require user notice or approval.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The skill is described as profile-data scraping, but its documented input accepts generic Instagram URLs including hashtags, locations, audio pages, and reels, which materially expands collection scope beyond the stated purpose. This mismatch can cause users or downstream agents to submit broader targets than intended, leading to over-collection and policy/privacy exposure.

External Transmission

Medium
Category
Data Exfiltration
Content
**REST API fallback:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~instagram-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["handle1", "handle2"]}'
Confidence
91% confidence
Finding
The skill explicitly instructs sending usernames to an external API endpoint, which is a real external data transmission event. In context this is the intended functionality, but it is still security-relevant because target account lists and potentially sensitive research activity are disclosed to a third party.

External Transmission

Medium
Category
Data Exfiltration
Content
Fetch results:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
```

### Step 3: Handle Edge Cases
Confidence
86% confidence
Finding
Fetching result datasets from the external service transmits and retrieves scraped profile data through a third-party platform, again using a token in the URL. This increases exposure of both the data and credentials if requests are logged or if result handling is not tightly controlled.

External Transmission

Medium
Category
Data Exfiltration
Content
Fetch results:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
```

### Step 3: Handle Edge Cases
Confidence
86% confidence
Finding
Fetching result datasets from the external service transmits and retrieves scraped profile data through a third-party platform, again using a token in the URL. This increases exposure of both the data and credentials if requests are logged or if result handling is not tightly controlled.

External Transmission

Medium
Category
Data Exfiltration
Content
Fetch results:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
```

### Step 3: Handle Edge Cases
Confidence
86% confidence
Finding
Fetching result datasets from the external service transmits and retrieves scraped profile data through a third-party platform, again using a token in the URL. This increases exposure of both the data and credentials if requests are logged or if result handling is not tightly controlled.

Intent-Code Divergence

Low
Confidence
84% confidence
Finding
The workflow says Step 1 normalizes a username list, but the primary documented input is arbitrary Instagram URLs, including non-profile resources. This inconsistency increases the chance of malformed requests, unintended target expansion, or agents making unsafe assumptions about what data is being collected.

Missing User Warnings

Low
Confidence
89% confidence
Finding
The examples encourage saving scraped profile results to local CSV/JSON files without warning that those files may persist sensitive or regulated profile data on disk. This raises the risk of unintended local exposure through shared workstations, backups, or source-controlled directories.

VirusTotal

63/63 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.