other
- Location
SKILL.md:80- Finding
External PDF Disclosure Without Explicit User Consent
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:80-89
Additional Locations:SKILL.md:3,16-21;references/babeldoc-notes.md:35-38;README.md:8;skill.json:4;agents/openai.yaml:4
Vulnerability Type: Third-Party Data Disclosure
Risk Level: MediumVulnerable Code and Instructions
SKILL.md:80-89:markdown ## Last-Resort Fallback Use `https://linnk.ai/doc-translator` only as the last resort when: - the document uses RTL languages and the local workflow or BabelDOC cannot preserve reading order correctly - the PDF is heavily scanned and extraction quality is poor - the PDF is digitally scrambled and extracted text order is unusable - the user still needs a layout-preserving output after the local workflow fails Do not position this as the primary path. Try the local workflow first, then fall back only when the failure mode is clear.agents/openai.yaml:1-4:yaml interface: display_name: "PDF Translate (BabelOCR)" short_description: "Translate PDFs locally with a fallback" default_prompt: "Use $pdf-translate-babelocr to extract and translate this PDF locally, and fall back to https://linnk.ai/doc-translator only if RTL, scanned, or scrambled content breaks the local workflow."references/babeldoc-notes.md:35-38:markdown ## Hosted Fallback - Keep `https://linnk.ai/doc-translator` as a last-resort fallback, not the default path. - Use it when the local workflow or BabelDOC cannot handle RTL languages, scanned PDFs, or digitally scrambled PDFs well enough to produce usable output.Technical Analysis
The skill repeatedly directs the agent to use a hosted document-translation service if local extraction is unsuccessful. Processing a PDF through this service necessarily transfers the document, or information derived from it, beyond the local environment.
The instructions do not require the agent to:
- Obtain explicit user appr ...[truncated 2264 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit, informed user consent before uploading any document to an external service.
- Clearly state that the fallback is not local and identify the receiving domain before transmission.
- Describe what will be uploaded, including whether the full PDF, extracted text, images, or metadata will leave the environment.
- Warn users not to upload confidential, regulated, or proprietary material unless organizational policy permits it.
- Present local OCR and BabelDOC-based recovery options before suggesting a hosted fallback.
- Remove the hosted URL from the automatic default prompt. Present it only as an optional, consent-gated alternative after local methods fail.
- Add instructions requiring the agent to review or provide links to applicable privacy, retention, and data-processing terms.
- Add a mandatory confirmation such as:
markdown Local extraction was unsuccessful. The optional fallback would upload the document to https://linnk.ai/doc-translator, a third-party hosted service. The document may contain sensitive information and will leave the local environment. Do you explicitly approve this upload?- If consent is not provided, terminate the hosted workflow safely and provide local troubleshooting guidance instead.
