Back to skill

Security audit

When dealing with text within an image, the system automatically recognizes it as an OCR (Optical Character Recognition) task and applies the corresponding capabilities.

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent OCR tool for Chinese/English financial images, with some broader local analysis examples users should understand before use.

Install only if you intend to process local images with Tesseract, especially Chinese/English financial screenshots. Be careful with the Telegram and batch examples because they can process private or many local images if copied directly; verify OCR-derived financial data before relying on it.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (22)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The documented workflows default to financial/entity extraction and report generation rather than only converting images to text. In a skill ecosystem, this kind of capability drift increases risk because downstream users and policy engines may invoke it under the assumption of narrow OCR behavior, while it can infer and structure higher-value information from documents.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The documented workflows default to financial/entity extraction and report generation rather than only converting images to text. In a skill ecosystem, this kind of capability drift increases risk because downstream users and policy engines may invoke it under the assumption of narrow OCR behavior, while it can infer and structure higher-value information from documents.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill demonstrates shell execution and file-reading behavior but does not declare any tool scope such as permissions or allowed-tools. That creates an authorization/expectation gap: a caller may treat the skill as narrow OCR-only functionality while it can read local files, enumerate directories, and run shell pipelines over attacker-influenced paths.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest describes an OCR tool for extracting text from images, but the examples document outputs such as company names, stock codes, financial metrics, keywords, sentiment, and summaries. Those behaviors are higher-level content analysis features rather than OCR itself, which makes the documented behavior materially broader than the stated skill purpose.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown file includes example workflows that ingest Telegram-downloaded images and original message text, then extract and analyze their contents. Because this behavior can involve user-provided or potentially sensitive communication data, the description should include an explicit warning about privacy, consent, and careful handling of extracted content.

Content

No source excerpt is available for this finding.

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 · examples/example_usage.md (reported line 278)May include surrounding context.

Solution: Install Tesseract

Windows: choco install tesseract

macOS: brew install tesseract

Ubuntu: sudo apt install tesseract-ocr

text

## Integration with Other Tools

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documented pipeline performs text cleaning, entity extraction, sentiment/trend analysis, and report generation after OCR. While OCR is part of the flow, the manifest limits the skill to using Tesseract for text extraction from images, so the documented behavior suggests a broader analysis tool than advertised.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The usage text and variable initialization set the default OCR language to chi_sim+eng, which imposes a specific language/locale behavior unless the user overrides it manually. Under the policy, forcing a language without explicit opt-in or clear region-specific justification is a natural-language policy concern.

Content

No source excerpt is available for this finding.

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/ocr.sh (reported line 63)May include surrounding context.

sh
echo "Error: Tesseract not found. Please install Tesseract OCR."
    echo "Install via:"
    echo "  macOS: brew install tesseract"
    echo "  Ubuntu/Debian: sudo apt install tesseract-ocr"
    echo "  Fedora: sudo dnf install tesseract"
    exit 1
fi

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/ocr.sh (reported line 64)May include surrounding context.

sh
echo "Error: Tesseract not found. Please install Tesseract OCR."
    echo "Install via:"
    echo "  macOS: brew install tesseract"
    echo "  Ubuntu/Debian: sudo apt install tesseract-ocr"
    echo "  Fedora: sudo dnf install tesseract"
    exit 1
fi

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes an OCR tool for extracting text from images, but the main code path goes further by analyzing extracted text for company names, stock codes, financial metrics, and preset keywords, then generating an analysis report. That behavior is a substantive expansion from OCR extraction into financial-content analysis.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/ocr_extract.py (reported line 27)May include surrounding context.

python
# Output to stdout
            cmd.extend(['stdout', '-l', lang])
        
        result = subprocess.run(
            cmd,
            capture_output=True,
            text=True,

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest describes an OCR tool for extracting text from images, including financial charts and reports, but this code goes further by parsing OCR output into companies, stock codes, financial metrics, and keywords. That structured domain analysis is a distinct capability beyond straightforward text extraction.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

After OCR, the skill automatically analyzes text for company names, stock codes, and financial metrics and prints an 'OCR ANALYSIS REPORT'. While OCR is within scope, this additional financial-analysis capability is not explicitly declared in the manifest as part of the skill's purpose.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · test_ocr.py (reported line 15)May include surrounding context.

python
print("Testing Tesseract installation...")
    
    try:
        result = subprocess.run(
            ['tesseract', '--version'],
            capture_output=True,
            text=True,

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · test_ocr.py (reported line 43)May include surrounding context.

python
# List available languages
    try:
        result = subprocess.run(
            ['tesseract', '--list-langs'],
            capture_output=True,
            text=True,

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · test_ocr.py (reported line 97)May include surrounding context.

python
try:
        # Test English OCR
        result = subprocess.run(
            ['tesseract', found_image, 'stdout'],
            capture_output=True,
            text=True,

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The manifest scopes this skill to using Tesseract for extracting text from images, but this section instructs use of a separate image-manipulation tool to transform images. While preprocessing can support OCR, bundling additional image-editing capability is not declared in the manifest and goes beyond the stated Tesseract-based OCR focus.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

Batch and parallel processing expand the operational scope from single-image OCR to broad filesystem traversal and mass processing. In context this is not inherently malicious, but it can increase blast radius, resource consumption, and accidental processing of unintended files if invoked on large or sensitive directories.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The example workflow generates summaries using fixed Chinese phrases such as '提及公司', '主题', and '财务指标'. This imposes a specific output language in natural-language content without indicating that the language is configurable or intentionally limited to a Chinese-specific use case.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The code sets a default OCR language of 'chi_sim+eng', which imposes a specific language/locale configuration unless the user explicitly overrides it. This is a natural-language policy concern because the tool defaults to a particular language set rather than asking the user to choose or clearly justifying the locale constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The command-line help text states that the default OCR language is 'chi_sim+eng', reinforcing a forced language choice in the user-facing interface. There is no nearby justification that this tool is intended only for Chinese/English financial documents or that users are expected to opt into that locale setting.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.