OCR Space: Free OCR API

Security checks across static analysis, malware telemetry, and agentic risk

Overview

The skill coherently performs OCR by sending user-specified images to OCR.space, with only disclosed third-party upload and minor packaging/temp-file cautions.

Before installing, make sure you are comfortable uploading requested images to OCR.space. Install any needed Python dependencies from trusted sources, and be aware that large images may cause the script to create and delete a compressed copy next to the original.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Any private text or visual information in images submitted for OCR may be processed by OCR.space.

Why it was flagged

The script sends the selected image file to OCR.space for OCR processing. This is the stated function, but it means the image contents are shared with an external provider.

Skill content
API_URL = "https://api.ocr.space/parse/image" ... response = requests.post(API_URL, files=files, data=data, headers=headers, timeout=30)
Recommendation

Use this skill only with images you are comfortable uploading to OCR.space, and review OCR.space's privacy or retention terms before using it for sensitive documents.

What this means

The skill may fail until dependencies are installed, and manual installation introduces normal package-source trust considerations.

Why it was flagged

The script depends on external Python packages, but the supplied artifacts include no install spec or pinned dependency declaration. This is a packaging/provenance note, not evidence of hidden install behavior.

Skill content
import requests ... from PIL import Image
Recommendation

Install dependencies such as requests and Pillow only from trusted sources, or ask the maintainer to add a pinned requirements/install specification.

What this means

A neighboring file with the generated compressed-image name could be replaced during OCR of a large image.

Why it was flagged

For images over 5 MB, the script writes a deterministic compressed filename next to the original and later deletes it; if that generated filename already exists, it could be overwritten and removed.

Skill content
compressed_path = image_path.replace('.jpg', '_compressed.jpg').replace('.png', '_compressed.jpg') ... with open(compressed_path, 'wb') as f: ... os.remove(image_path)
Recommendation

Be cautious with large images in directories containing similarly named files, or update the script to use a unique temporary file with collision checks.