data-extractor
Pass
Audited by Gen Agent Trust Hub on Apr 6, 2026
Risk Level: SAFEPROMPT_INJECTIONDATA_EXFILTRATIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [PROMPT_INJECTION]: The skill is susceptible to indirect prompt injection through its image processing pipeline. When the AI model extracts text from a figure, the resulting strings (e.g., titles, legend text, notes) are rendered in the web UI using
.innerHTMLinweb/app.jswithout sanitization, creating a Cross-Site Scripting (XSS) vulnerability. - Ingestion points: Image files (PNG, JPG, TIFF) uploaded by the user are processed by Claude vision in
web/server.pyviaextract_image_region. - Boundary markers: Absent; the logic assumes the LLM output is benign text, but it is rendered as HTML.
- Capability inventory: The web UI can execute JavaScript and make network requests; the backend calls the Anthropic API and exports results to the local filesystem.
- Sanitization: Absent; the frontend logic in
web/app.js(specifically the_buildResultHtmlfunction) directly interpolatesresult.title,result.notes, andresult.x_labelinto the document object model (DOM). - [DATA_EXFILTRATION]: The FastAPI server configuration in
web/server.pymounts the entireweb/directory as a static file route (/static). This exposure allows any network user to access the application's own source code, includingserver.pyandapp.js. - [COMMAND_EXECUTION]: The
web/server.pyscript configures the web server to listen on0.0.0.0, making the extraction tool and any uploaded images accessible to any device on the local network. - [EXTERNAL_DOWNLOADS]: The skill's frontend (
web/index.html) fetches the Tailwind CSS framework from a well-known service (cdn.tailwindcss.com) at runtime.
Audit Metadata