Unlimited-OCR-RDNA4 / SECURITY.md
dougvk's picture
Publish Unlimited-OCR RDNA 4 runtime v0.1.0
f340984 verified
|
Raw
History Blame Contribute Delete
1.77 kB

Security policy

Custom model code

Unlimited-OCR requires custom Python. This project never follows a floating model revision during inference.

prepare:

  1. downloads one pinned Baidu revision into a unique partial directory under a preparation lock;
  2. fully hashes every expected code, configuration, tokenizer, index, license, and weight file;
  3. applies exact, count-checked source transformations;
  4. verifies the patched tree, rejects symlinks and unexpected files, and records an exact local manifest;
  5. publishes the completed directory only after all checks pass.

run uses only the prepared local directory with local_files_only=True, HF_HUB_OFFLINE=1, and TRANSFORMERS_OFFLINE=1. Those settings prevent model resolution from using the network; they are not a process sandbox.

Untrusted documents

Model output is untrusted Markdown/raw HTML data. The runtime does not call eval() on it. Output paths use an exclusive, random same-directory temporary file and an atomic no-replace publish; symlinks and input/output aliases are rejected. --force alone enables atomic replacement.

Images and PDFs can still trigger bugs in Pillow, PDFium/pypdfium2, PyTorch, Transformers, or the model code. PDF rendering has per-page and aggregate pixel/byte limits, but hostile inputs still belong under a dedicated unprivileged account or an appropriately restricted container. Do not expose this CLI directly as a public upload service without process/network sandboxing, input-byte limits, timeouts, and admission controls.

Reporting

Please report vulnerabilities privately through GitHub's security-advisory interface for this repository. Do not include private documents, credentials, model-cache tokens, or sensitive OCR output in a report.