pdf-processor
Pass
Audited by Gen Agent Trust Hub on Sep 19, 2026
Risk Level: SAFECOMMAND_EXECUTIONDATA_EXFILTRATIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The skill uses
subprocess.runto interact with system tools and maintain file metadata. - Executes
ocrmypdfandtesseractfor local OCR tasks inscripts/pdf-ocr.py. - Uses the
SetFileutility on macOS to preserve file creation timestamps inscripts/pdf-preprocess-core.pyandscripts/pdf-compress.py. - Invokes
curlas a fallback mechanism for robust file uploads to external OCR APIs inscripts/pdf_runtime.pywhen standard libraries fail. - [DATA_EXFILTRATION]: PDF content is transmitted to external endpoints for OCR processing as part of the core functionality.
- Uploads files to endpoints at
mineru.net(Shanghai AI Lab/OpenXLab) andaistudio.baidu.com(Baidu/PaddleOCR). - The behavior is transparently documented and can be restricted to local-only processing via the
--local-onlyflag. - [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted PDF files, presenting a vulnerability surface for indirect injection via OCR extraction.
- Ingestion points: Document content enters the agent context through file reading in
scripts/pdf-ocr.pyandscripts/pdf-preprocess-ocr.py. - Boundary markers: No explicit markers or "ignore instructions" warnings are applied to the extracted text passed to the LLM.
- Capability inventory: The skill possesses file-write, network-access, and command-execution capabilities that could be abused if malicious instructions are processed.
- Sanitization: Performs character normalization (NFKC) and whitespace cleaning but lacks semantic sanitization of the extracted text content.
- [DYNAMIC_EXECUTION]: The skill utilizes dynamic loading for internal module orchestration.
- Uses
importlib.utilandimportlib.import_module()to load internal logic frompdf-preprocess-core.py,pdf-compress.py, and various OCR backends at runtime.
Audit Metadata