Back to skill

Security audit

finding-saas-company-leads-twitter

Security checks across malware telemetry and agentic risk

Overview

This skill is a disclosed Apify/Twitter lead-finding workflow with no hidden install code, but it sends search terms and handles to Apify and can save outputs when requested.

Use this only if you are comfortable sending Twitter/X search terms, handles, and derived lead data to Apify. Set maxItems deliberately, avoid follower/following/retweeter extraction unless you specifically need it, use only trusted customMapFunction code, and save CSV/JSON outputs in an appropriate location.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (8)

Context-Inappropriate Capability

High
Confidence
94% confidence
Finding
Allowing arbitrary JavaScript via `customMapFunction` introduces a code-execution pathway that is unrelated to simple lead discovery and can transform the skill from data retrieval into programmable processing. In agent or automation environments, this can enable malicious logic, unsafe data handling, or abuse of downstream execution contexts if user-controlled code is passed through.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The manifest says the skill returns "founder name (from bio)" and "recent tweets," but the workflow never specifies extracting founder names from bios or fetching/returning recent tweet content in the final output. Instead, the documented output tables focus on company handle, product, stage, followers, website, and score, indicating a narrower behavior than claimed.

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The skill exposes follower, following, and retweeter extraction features that exceed the stated purpose of finding SaaS company leads, enabling broader social graph collection. This increases the risk of over-collection, profiling, and misuse of personal data beyond user expectations, especially in a sales/outreach context.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill sends Twitter/X-derived data and lead information to third-party Apify actors and also encourages saving outputs, but it does not warn users about external sharing, retention, or storage. This creates privacy and compliance risk because users may not realize that handles, tweets, and derived prospecting data are transmitted off-platform and potentially persisted.

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": ["HR tech SaaS", "HR software launch", "we built HR tool"],
    "maxItems": 300
  }'
Confidence
86% confidence
Finding
This skill explicitly transmits search terms and associated collection requests to an external Apify API, which creates a real data egress boundary. In the context of lead generation, that may expose user research intent, prospecting targets, or collected social data to a third party without sufficient in-skill disclosure or controls.

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"]}'
```

### Step 4: Filter and Classify
Confidence
87% confidence
Finding
This API call transmits Twitter usernames to a third-party enrichment service, creating another concrete external data-sharing path. Because the skill is designed for lead compilation and outreach, the context makes this more sensitive: the tool is aggregating identifiable social profiles for profiling and sales use without clear notice or minimization safeguards.

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"]}'
```

### Step 4: Filter and Classify
Confidence
87% confidence
Finding
This API call transmits Twitter usernames to a third-party enrichment service, creating another concrete external data-sharing path. Because the skill is designed for lead compilation and outreach, the context makes this more sensitive: the tool is aggregating identifiable social profiles for profiling and sales use without clear notice or minimization safeguards.

Natural-Language Policy Violations

Low
Confidence
97% confidence
Finding
This instruction imposes an English-language filter in the default workflow, which is a locale constraint expressed in natural language/configuration. The file does not provide user opt-in, alternatives for other languages, or a justification that the skill is intended only for an English-specific context.

VirusTotal

61/61 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.