Back to skill

Security audit

finding-software-engineers-on-twitter

Security checks for vulnerabilities and agentic risk

Overview

The skill is purpose-aligned for Twitter/X recruiting, but it needs review because its fallback API examples put the Apify token in URLs and do not clearly warn users about sending candidate/search data to Apify.

Review before installing or using in production. Use a limited Apify token, prefer Authorization headers over token query parameters, avoid pasting tokens into chat or logs, and confirm that your organization is comfortable sending Twitter/X search terms, handles, and profile data to Apify for recruiting analysis.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:97
Finding

Apify API Token Exposed in URL Query Parameters

Content
View full analysis
Remediation
View remediation
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 (6)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs sending recruiting queries, Twitter handles, profile URLs, and derived candidate data to Apify-hosted third-party scrapers, but it does not warn the user that this data leaves the local environment and is processed by external services. That omission can cause unintentional disclosure of search intent, candidate-identifying data, and possibly sensitive sourcing activity to a third party, which is a real privacy and transparency issue in a recruiting workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The example hard-codes tweetLanguage: "en" without indicating that this is optional or requiring user opt-in. In a recruiting context, this can silently exclude non-English candidates and bias sourcing results, making the skill materially less fair and less aligned with user intent.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
93% confidence
Finding

This command sends search terms and authentication material to Apify over an external network call. Even though external API use is the intended function of the skill, it is still a genuine transmission of user data and operational metadata to a third party, which is risky if done without clear consent and secure credential handling.

Content

Scanner excerpt · SKILL.md (reported line 98)May include surrounding context.

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": ["Python engineer", "senior Python developer", "built with Python"], "maxItems": 300}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 99)May include surrounding context.

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": ["Python engineer", "senior Python developer", "built with Python"], "maxItems": 300}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
92% confidence
Finding

This profile enrichment call sends usernames and authentication material to Apify, exposing candidate identifiers and sourcing activity to a third-party service. In recruiting, that can reveal who is being targeted and create privacy, confidentiality, and compliance concerns if users are not clearly informed.

Content

Scanner excerpt · SKILL.md (reported line 118)May include surrounding context.

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

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill requires an APIFY_TOKEN and later demonstrates passing it in a URL query string, but the prerequisites do not warn about secure handling of that credential. Tokens in environment variables are common, but failing to caution against exposing them in shell history, logs, screenshots, or shared commands increases the chance of credential leakage.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.