koreader-highlights

ReviewAudited by ClawScan on May 10, 2026.

Overview

This is mostly a local KOReader highlight reader, but it should be reviewed because it runs hidden local commands and includes persistent/background memory behavior.

Install only if you are comfortable with the agent reading KOReader highlight files from your Dropbox-synced folders and storing some reading context in workspace memory. Before using it, prefer a version that safely handles search terms and file paths, clearly discloses or disables heartbeat monitoring, and does not delete its own setup files.

Findings (5)

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.

ConcernMedium Confidence
ASI02: Tool Misuse and Exploitation
What this means

A crafted folder name, book filename, or search term could cause the local command to do more than read highlights.

Why it was flagged

The instructions place user- or filename-derived values into shell/Python command text without documented escaping, validation, or safe argument passing.

Skill content
Run via tool: ls ~/Dropbox/Apps/<APP_NAME>/*.sdr.json ... with open('<FULL_PATH_TO_FILE>') ... if '<SEARCH_TERM>'.lower()
Recommendation

Avoid shell interpolation; use a reviewed helper or Python argv/pathlib under a fixed base directory, validate filenames, and confirm unexpected paths before reading.

ConcernMedium Confidence
ASI10: Rogue Agents
What this means

The agent could repeatedly inspect local reading files and retain discoveries even when the user did not ask for a fresh lookup.

Why it was flagged

This instructs periodic local file monitoring and memory writes outside a direct user request, which goes beyond the main user-invoked highlight lookup flow.

Skill content
On each heartbeat, check ... any `.sdr.json` file ... has a modification time newer than the last heartbeat ... Update `MEMORY.md`.
Recommendation

Make heartbeat monitoring opt-in, clearly disclose it in the skill description/metadata, and provide a simple way to disable or clear stored state.

What this means

Private reading interests, Dropbox highlight paths, and preferences may persist in the workspace and influence later answers.

Why it was flagged

The skill stores long-term local memory about reading habits and setup details, which is purpose-related but privacy-sensitive and reusable across sessions.

Skill content
Durable facts, preferences, and decisions. Update this as you learn about your human's reading habits.
Recommendation

Store only minimal needed facts, disclose what is saved, and give users an easy way to view, edit, or delete memory.

What this means

Users may not see which files were accessed or why a local operation failed.

Why it was flagged

The artifact suppresses operational details from user-visible replies, which can reduce transparency when local tools are being run.

Skill content
YOUR REPLY must NEVER contain ... File paths ... Tracebacks or error messages ... The words "command", "script", "execute", "output", or "terminal"
Recommendation

Keep replies non-technical by default, but allow plain-language disclosure of accessed locations and failures when the user asks.

NoteHigh Confidence
ASI10: Rogue Agents
What this means

A user or reviewer may have less visibility into the original first-run instructions after the skill operates.

Why it was flagged

The first-run instructions ask the agent to delete one of its own workspace files, which conflicts with the repeated read-only framing even if it targets only the skill's own bootstrap file.

Skill content
This is your birth certificate. Follow these steps once, then delete this file.
Recommendation

Do not self-delete instruction files; mark bootstrap completion in memory instead, or ask the user before removing any workspace file.