data-scraper-agent
Pass
Audited by Gen Agent Trust Hub on Jun 24, 2026
Risk Level: SAFEPROMPT_INJECTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONDATA_EXFILTRATION
Full Analysis
- [PROMPT_INJECTION]: The skill exhibits an indirect prompt injection surface. It is designed to scrape arbitrary data from public websites and APIs and immediately process that data through an LLM for 'enrichment' (scoring, summarizing, and classifying).
- Ingestion points: The
fetchfunction inscraper/sources/my_source.pyand various scraping patterns (RSS, HTML) ingest untrusted content from external URLs. - Boundary markers: The
_build_promptfunction inai/pipeline.pyinterpolates the scraped data (as JSON-stringified items) directly into the LLM prompt. There are no clear boundary markers or system instructions provided to the LLM to ignore potentially malicious instructions embedded in the scraped data. - Capability inventory: The agent scripts have capabilities to perform network requests (
requests), write to external databases (notion-client), and commit changes to the repository (git commitvia GitHub Actions). - Sanitization: No sanitization, filtering, or validation of the scraped text is performed beyond a length limit (
context[:800]) and standard JSON encoding. - [EXTERNAL_DOWNLOADS]: The skill requires several external Python packages to function. It provides a
requirements.txttemplate and a GitHub Actions workflow that performs automated installations. - Python packages:
requests,beautifulsoup4,lxml,python-dotenv,pyyaml,notion-client, andplaywright. - The GitHub Actions workflow also includes a step to download and install Playwright browser binaries (
python -m playwright install chromium). - [COMMAND_EXECUTION]: The skill includes a GitHub Actions workflow (
.github/workflows/scraper.yml) that executes shell commands on a schedule. This includes installing dependencies, running the Python agent, and usinggitcommands to push feedback data back to the repository. - [DATA_EXFILTRATION]: By design, the skill collects data from external sources and transmits it to third-party storage providers (Notion, Google Sheets, or Supabase) using API tokens provided by the user in environment variables.
Audit Metadata