Back to skill

Security audit

Skreenshot

Security checks for vulnerabilities and agentic risk

Overview

This screenshot-management skill is not malicious, but it needs review because it encourages persistent macOS changes, automated deletion, broad OCR/indexing, and cloud sharing without enough safety guidance.

Install only if you are comfortable with a skill that may guide your agent to move screenshots, change your macOS screenshot save location, set up recurring automation, OCR private screenshots, and optionally upload screenshots through CleanShot X. Use dry runs and folder previews first, avoid OCR or cloud upload for sensitive screenshots, and keep backups before enabling cleanup rules that move files to Trash.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
references/ocr-setup.md:26
Finding
Unpinned Third-Party OCR Dependency## Vulnerability Details **File Location**: `references/ocr-setup.md`, lines 26-29 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium **Vulnerable Code**: ```markdown **Install:** ```bash pip install easyocr ``` ``` ### Technical Analysis The documentation instructs users to install `easyocr` without specifying a reviewed version, validating package hashes, using a lockfile, or requiring an isolated environment. Consequently, package resolution depends on the mutable state of the configured Python package index at installation time. `easyocr` and its transitive dependencies are external code not included in this audit. If the package, one of its dependencies, the package index, or the user's package-index configuration is compromised, following this command could install attacker-controlled code. That code may execute during package installation or when the documented OCR workflow later imports and uses the package. This dependency is relevant to the Skill's OCR functionality, so its inclusion does not inherently exceed the functionality's required privileges. The issue is the absence of supply-chain integrity controls. ### Attack Path 1. An attacker compromises a dependency release, its publishing account, an upstream dependency, or a package index used by the victim. 2. The user follows the Skill's instructions and runs `pip install easyocr`. 3. Pip resolves the unpinned package and transitive dependencies from the compromised or unsafe source. 4. Attacker-controlled code is installed and may execute during installation or when the user imports `easyocr`. 5. The malicious code operates with the privileges of the user running pip and can access resources available to that account. ### Impact Assessment Successful exploitation can provide code execution with the installing user's privileges. The affected scope can include screenshots processed by the OCR workflow, othe ...[truncated 365 chars]
Remediation
## Remediation Suggestions 1. Pin `easyocr` and all transitive dependencies to reviewed versions using a lockfile or fully constrained requirements file. 2. Require hash verification, for example through `pip install --require-hashes -r requirements.txt`. 3. Direct users to create and activate a dedicated virtual environment before installation. 4. Explicitly use a trusted package index and warn users to review custom pip index configuration. 5. Periodically review and update pinned versions after vulnerability and provenance checks. 6. Document that OCR libraries process potentially sensitive screenshots and should only be installed from verified sources.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The markdown includes commands that create folders and move all matching screenshots from `~/Desktop` into another location. This can affect user data organization and potentially hide or disrupt expected files, but the documentation provides no warning, confirmation note, or caution about reviewing matches before moving files.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The documented defaults write command persistently changes the system screenshot save location, and killall SystemUIServer applies that change immediately. In an agent skill context, this is more dangerous because it alters macOS behavior beyond the current task and could surprise users or redirect future screenshots to an unintended location.

Session Persistence

Medium
Category
Rogue Agent
Content
macOS saves to `~/Desktop` by default. Change it:
```bash
# Set custom location
defaults write com.apple.screencapture location ~/Pictures/Screenshots
killall SystemUIServer
```
Confidence
84% confidence
Finding
The defaults write command creates session-persistent state by modifying a macOS preference that affects future screenshot behavior. In an agent skill, persistent configuration changes are risky when presented without consent, reversal instructions, or boundaries on when they should be used.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The markdown instructs users to search screenshot contents via OCR, which can process sensitive information embedded in images such as receipts, messages, or credentials. The skill does not disclose this privacy implication or advise users to avoid scanning sensitive screenshot sets without review.

Missing User Warnings

Medium
Confidence
83% confidence
Finding
Mentioning optional cloud upload for screenshot tooling without a privacy warning can lead users to transmit sensitive screenshots off-device unintentionally. In this skill context, screenshots often contain confidential content, so omission of a caution materially increases the risk of accidental data exposure.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The document recommends an automated rule that moves screenshots older than one year to Trash without any warning, confirmation step, exclusion guidance, or backup note. In a screenshot-management skill, this creates a real risk of unintended data loss because screenshots often contain receipts, records, or evidence that users may still need, and automation increases the chance that deletion happens unnoticed.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The document recommends a cloud-upload workflow that sends screenshots to external storage and creates shareable links, but it does not warn users that screenshots may contain sensitive data such as credentials, internal documents, customer information, or system details. In a workflow/reference skill, this omission can normalize unsafe sharing behavior and increase the chance of inadvertent data exposure.

Missing User Warnings

Low
Confidence
88% confidence
Finding
The macro performs OCR on the latest screenshot and copies the extracted text to the clipboard, but the documentation does not warn that screenshots may contain passwords, tokens, financial data, or personal information. This is risky because clipboard contents are broadly accessible to the user and other apps, and the automation encourages extraction of sensitive text without privacy safeguards.

Natural-Language Policy Violations

Low
Confidence
93% confidence
Finding
The EasyOCR example initializes the reader with only ['en'], which enforces English output in the sample usage. The document does not indicate that this is just an example or show how to choose other languages, creating a natural-language locale policy concern.

Missing User Warnings

Low
Confidence
85% confidence
Finding
This markdown file describes using macOS Live Text and states that selected text is automatically copied to the clipboard. Clipboard operations can expose sensitive extracted text to other apps or overwrite existing clipboard contents, but the document does not warn users about that privacy impact.

Static analysis

No suspicious patterns detected.