CtrlK
BlogDocsLog inGet started
Tessl Logo

tdg-personal/data-scraper-agent

Build a fully automated AI-powered data collection agent for any public source — job boards, prices, news, GitHub, sports, anything. Scrapes on a schedule, enriches data with a free LLM (Gemini Flash), stores results in Notion/Sheets/Supabase, and learns from user feedback. Runs 100% free on GitHub Actions. Use when the user wants to monitor, collect, or track any public data automatically.

64

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

Low

Low-risk findings.

1 low severity finding. Worth noting, but not necessarily harmful.

Low

W011: Third-party content exposure detected (indirect prompt injection risk).

What this means

The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.

Why it was flagged

The skill's SKILL.md and code (e.g., scraper/sources/my_source.py and the HTML/RSS/Playwright patterns, plus ai/pipeline.py which builds prompts from scraped items and sends them to Gemini) explicitly fetch and ingest public/untrusted web content (examples include Hacker News, subreddits, LinkedIn, etc.) and uses the LLM's analyses to score/filter/store items, so third-party content can materially influence agent decisions.

Where we found it

arbitrary public web content (HTML, RSS, REST API, JS-rendered pages)

content-type · 11 sites

The plugin's template code fetches arbitrary public web content (via REST API, HTML scraping, RSS parsing, and Playwright) and embeds it directly into LLM prompts via _build_prompt(), creating an indirect prompt injection vector where untrusted third-party content influences AI scoring and filtering decisions.

news.ycombinator.com

domain · 1 site

Hacker News is explicitly listed as a real-world scraping target whose user-generated content would be fetched and fed into LLM prompts for analysis.

SKILL.md

748

"Build me an agent that monitors Hacker News for AI startup funding news"

linkedin.com

domain · 1 site

LinkedIn is explicitly listed as a real-world scraping target whose job listing content would be fetched and fed into LLM prompts for scoring.

SKILL.md

751

"Collect Chief of Staff job listings from LinkedIn and Cutshort into Notion"

cutshort.io

domain · 1 site

Cutshort is explicitly listed as a real-world scraping target whose job listing content would be fetched and fed into LLM prompts for scoring.

SKILL.md

751

"Collect Chief of Staff job listings from LinkedIn and Cutshort into Notion"

reddit.com

domain · 1 site

Reddit subreddits are explicitly listed as a real-world scraping target whose user-generated posts would be fetched and fed into LLM prompts for sentiment classification.

SKILL.md

752

"Monitor a subreddit for posts mentioning my company — classify sentiment"

arxiv.org

domain · 1 site

arXiv is explicitly listed as a real-world scraping target whose academic paper content would be fetched and fed into LLM prompts for analysis.

SKILL.md

753

"Scrape new academic papers from arXiv on a topic I care about daily"

github.com

domain · 2 sites

GitHub is explicitly listed as a real-world scraping target whose repository content would be fetched and fed into LLM prompts for summarization.

SKILL.md

90

- GitHub repos → summarise new releases

SKILL.md

750

"Track new GitHub repos tagged with 'llm' or 'agents' — summarise each one"

Report incorrect finding
Audited
Security analysis
Snyk