Back to skill

Security audit

finding-freelancers-by-skill-on-twitter

Security checks across malware telemetry and agentic risk

Overview

This skill is a straightforward Twitter/X freelancer sourcing workflow that uses Apify as disclosed, with privacy considerations but no hidden or destructive behavior found.

Install only if you are comfortable sending sourcing queries, Twitter/X handles, and resulting public profile data to Apify-powered scraping workflows. Do not include confidential candidate lists, regulated personal data, or sensitive business targeting criteria unless your organization permits that processing.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Vague Triggers

Medium
Confidence
95% confidence
Finding
The manifest says the skill triggers when a user asks to 'find freelancers on Twitter' or 'find independent workers actively seeking clients,' which are broad natural-language requests without clear constraints or exclusion conditions. Because no negative examples or narrower activation scope are provided, the skill could be invoked for ordinary recruiting conversations more often than intended.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill instructs sending search terms, handles, and profile-enrichment inputs to Apify actors and Twitter-derived scraping workflows without clearly warning the user that their inputs and resulting profile data will be transmitted to third-party services. This creates a privacy and data-governance risk, especially if a user includes sensitive targeting criteria, private lead lists, or regulated personal data in the search inputs.

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": ["freelance [SKILL]", "[SKILL] for hire", "available for contract [SKILL]"], "maxItems": 300}'
Confidence
97% confidence
Finding
This skill explicitly transmits user-provided search terms to an external Apify API endpoint, which is a real data egress path. In context, the transmission is part of the skill's intended function, but it is still security-relevant because potentially sensitive recruiting criteria or identifiers could be exposed to a third-party processor without clear consent or minimization.

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
95% confidence
Finding
Sending usernames/handles to the external twitter-user-scraper actor is another concrete external data transmission point. Even though handles may be public, the compiled list of targets and the user's recruitment interest can itself be sensitive business intelligence, so silent transmission increases privacy and operational risk.

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
95% confidence
Finding
Sending usernames/handles to the external twitter-user-scraper actor is another concrete external data transmission point. Even though handles may be public, the compiled list of targets and the user's recruitment interest can itself be sensitive business intelligence, so silent transmission increases privacy and operational risk.

Natural-Language Policy Violations

Low
Confidence
97% confidence
Finding
The example input sets 'tweetLanguage' to 'en', which imposes an English-only locale constraint in the skill instructions. The file does not offer the user a language choice or explain why English-only filtering is required, making this a natural-language policy issue.

VirusTotal

57/57 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.