paddleocr
Pass
Audited by Gen Agent Trust Hub on Nov 10, 2026
Risk Level: SAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The skill uses
subprocess.run,subprocess.Popen,os.execv, andos.execvpto manage its execution environment and call standard document utilities.\n scripts/ocr.pyusesos.execvpto launch worker scripts through theuvenvironment manager.\nscripts/parse.pyusesos.execvto re-execute itself within the specificpaddleocrtool's Python interpreter, ensuring correct library versions and CUDA configurations are loaded.\nscripts/doc.pyandscripts/ocrlib/checks.pyusesubprocess.runto execute binary utilities likepdfinfoandpdftotextfor metadata extraction and verification of parsed text against the original document layer.\n- [EXTERNAL_DOWNLOADS]: The skill performs targeted network requests to local or remote servers to manage OCR processing and provides instructions for dependency management.\nscripts/parse.pyusesurllib.request.urlopento query available models from a user-provided or local OpenAI-compatible vLLM server endpoint (/v1/models). This is a functional requirement for offloading parsing to a specialized backend.\n- Documentation in
references/install.mdguides users to install dependencies from reputable sources, including official PaddlePaddle repositories.\n- [INDIRECT_PROMPT_INJECTION]: As a tool designed to ingest and parse untrusted PDF and image content, the skill has an inherent indirect prompt injection surface.\n - Ingestion points: Document files are read via
scripts/parse.pyand processed using the PaddleOCR engine.\n - Boundary markers: The skill generates Markdown output with clear delimiters for pages, figures, and findings (e.g.,
<!-- page N -->,<!-- figure ID -->).\n - Capability inventory: The environment has the capability to run shell commands for PDF processing and filesystem management.\n
- Sanitization: The skill mitigates risks through its design; it includes specialized auditing tools (
ocr.py findings,ocr.py diff) and a "settle" workflow (detailed inreferences/settle.md) that explicitly instructs a reviewing agent to verify the parsed output against the ground-truth text layer, identifying hallucinations or injected text.\n- [DYNAMIC_EXECUTION]: The skill implements process replacement and dynamic environment selection to ensure reliability across different user setups.\n - The use of
os.execvto jump into auv-managed tool directory is a common and safe pattern for ensuring complex AI models run in an environment with the correct binary dependencies.
Audit Metadata