Back to skill

Security audit

sm-ocr-scanner

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent local OCR skill with disclosed, user-controlled installation options and no evidence of hidden data sharing or unsafe automatic behavior.

Use this skill for local OCR on files you explicitly choose. Review the installer before running it with sudo or --allow-pip, and set -l or OCR_LANG when working with non-German documents.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (10)

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 140)May include surrounding context.

Die Modelle kommen aus dem signierten Paketmanager der Distribution:

bash
sudo apt install tesseract-ocr tesseract-ocr-deu   # Debian/Ubuntu, osd und eng kommen mit
bash scripts/install.sh --portable --lang "deu eng"     # ohne root: Modelle hierher

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 152)May include surrounding context.

Die Modelle kommen aus dem signierten Paketmanager der Distribution:

bash
sudo apt install tesseract-ocr tesseract-ocr-deu   # Debian/Ubuntu, osd und eng kommen mit
bash scripts/install.sh --portable --lang "deu eng"     # ohne root: Modelle hierher

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · assets/README.md (reported line 12)May include surrounding context.

Die Modelle kommen aus dem signierten Paketmanager der Distribution:

bash
sudo apt install tesseract-ocr tesseract-ocr-deu   # Debian/Ubuntu, osd und eng kommen mit
bash scripts/install.sh --portable --lang "deu eng"     # ohne root: Modelle hierher

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 177)May include surrounding context.

md
-h, --help         diese Hilfe

RECHTE
  Das Skript ruft selbst kein sudo auf. Fuer die Systeminstallation startet
  der Benutzer es bewusst als root. Der Paketmanager zeigt dann die Pakete
  und fragt nach Bestaetigung; ohne Terminal bricht die Systeminstallation ab.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · scripts/install.sh (reported line 76)May include surrounding context.

sh
-h, --help         diese Hilfe

RECHTE
  Das Skript ruft selbst kein sudo auf. Fuer die Systeminstallation startet
  der Benutzer es bewusst als root. Der Paketmanager zeigt dann die Pakete
  und fragt nach Bestaetigung; ohne Terminal bricht die Systeminstallation ab.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · scripts/install.sh (reported line 81)May include surrounding context.

sh
-h, --help         diese Hilfe

RECHTE
  Das Skript ruft selbst kein sudo auf. Fuer die Systeminstallation startet
  der Benutzer es bewusst als root. Der Paketmanager zeigt dann die Pakete
  und fragt nach Bestaetigung; ohne Terminal bricht die Systeminstallation ab.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · scripts/install.sh (reported line 253)May include surrounding context.

sh
-h, --help         diese Hilfe

RECHTE
  Das Skript ruft selbst kein sudo auf. Fuer die Systeminstallation startet
  der Benutzer es bewusst als root. Der Paketmanager zeigt dann die Pakete
  und fragt nach Bestaetigung; ohne Terminal bricht die Systeminstallation ab.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The main body of the README is written in German, while only a brief English note appears at the top. This can amount to a language/locale policy issue because the file effectively requires German comprehension for full use, without offering an explicit language choice or stating that the skill is intentionally region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The comments and default configuration state that the skill is intentionally focused on the German-speaking DACH region and default OCR language is set to deu+eng. Although alternate languages are technically supported, the default behavior still imposes a locale preference unless the user overrides it, which matches the language/locale policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script’s comments and user-visible output strings are consistently in German, including errors, status messages, and test labels. For a general-purpose self-test script, this is a natural-language locale constraint without user opt-in or justification that the skill is intentionally German-only.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.