T09 · Insecure Skill Coding Practices
- Location
SKILL.md:98- Finding
Apify API Token Exposed Through URL Query Parameters
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a straightforward Apify-based Twitter monitoring guide, with token-handling privacy risks users should understand.
Before installing, confirm you are comfortable sending Twitter search terms and retrieved results through Apify/apidojo services. Use a dedicated least-privilege Apify token if possible, avoid putting tokens in URL query strings or shared logs, keep any .env file out of source control, and treat saved CSV/JSON outputs as potentially sensitive research data.
SKILL.md:98Apify API Token Exposed Through URL Query Parameters
This command sends user-provided search terms and an API token to a third-party endpoint. While expected for this skill's purpose, it creates a real external data transmission path and could expose sensitive queries or credentials if users run it without understanding that data leaves the local environment.
REST API fallback:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["investing in [SECTOR]", "excited about [SECTOR]", "looking for [SECTOR] startups", "portfolio company [SECTOR]"], "maxItems": 100}'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
REST API fallback:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["investing in [SECTOR]", "excited about [SECTOR]", "looking for [SECTOR] startups", "portfolio company [SECTOR]"], "maxItems": 100}'
Fetching dataset items from the Apify endpoint is another explicit external transmission that returns scraped data and includes the API token in the request URL. This can leak access tokens through shell history, logs, or monitoring systems and normalizes sending retrieved data through a third-party service without prominent disclosure.
Wait for SUCCEEDED. Fetch dataset:
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"
This markdown file documents use of an APIFY_TOKEN credential and later instructs users to run a remote Tweet scraper and save results to local files, but it does not clearly warn that queries and retrieved data are sent to a third-party service and may be written to disk. Under the markdown-specific missing-warning rule, behaviors affecting privacy or local data handling should be disclosed explicitly.
No suspicious patterns detected.