Back to skill

Security audit

finding-real-estate-professionals-on-twitter

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Apify/Twitter scraping workflow for real estate lead discovery, with privacy and scope considerations but no hidden local execution or persistence.

Install only if you are comfortable using Apify to collect public Twitter/X profile data for lead discovery. Set a clear maxItems limit, avoid follower/following/retweeter collection unless specifically needed, and do not use customMapFunction unless you understand exactly what transformation will run.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
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 (5)

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documented inputs permit scraping followers, following lists, and retweeters, which materially expands the skill from simple profile discovery into broader social graph collection. That increases data collection scope beyond the declared purpose and can enable bulk profiling or outreach targeting not apparent from the manifest description.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Allowing a user-supplied customMapFunction introduces arbitrary JavaScript transformation capability that exceeds a simple search-and-return skill and can alter, filter, or derive unexpected outputs from scraped data. In agent environments, exposing custom code hooks is dangerous because it can enable unauthorized logic execution paths, hidden data manipulation, or abuse not reflected in the skill description.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 55)May include surrounding context.

REST API fallback

bash
curl -X POST "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["realtor", "real estate agent"], "maxItems": 100}'

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 55)May include surrounding context.

REST API fallback

bash
curl -X POST "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["realtor", "real estate agent"], "maxItems": 100}'

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The skill promises a fixed set of returned fields, but the presence of customMapFunction means the actual output can be arbitrarily reshaped. This mismatch weakens trust boundaries for downstream consumers, which may rely on the documented schema and inadvertently process unexpected or over-collected data.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.