T09 · Insecure Skill Coding Practices
- Location
scripts/script.sh:4- Finding
Note and Export Files Are Created Without Restrictive Permissions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
Notelane is a disclosed local notes and productivity logging tool, with privacy and export-format caveats but no evidence of deception, exfiltration, privilege abuse, or unsafe automatic behavior.
Install only if you are comfortable with a local plaintext note logger. Avoid storing passwords, tokens, regulated data, or highly sensitive personal/work material, and be careful opening CSV exports in spreadsheet software. On shared machines, restrict permissions on ~/.local/share/notelane before use.
scripts/script.sh:4Note and Export Files Are Created Without Restrictive Permissions
scripts/script.sh:63Unescaped Note Content Produces Unsafe JSON and CSV Exports
The description partially matches only a subset of the code: the script does store text entries locally, has a 'tag' command, and provides text search. However, its primary behavior is broader and materially different from a personal knowledge-base note organizer. It functions as a general productivity/activity logging CLI with many specialized commands unrelated to note capture or knowledge-base management, plus export, stats, status, and history features that are undeclared. Because the implemented capabilities significantly exceed and shift the primary purpose beyond the declared description, this is a mismatch.
The manifest limits the purpose to organizing notes with tagging and full-text search, but the file documents additional behavioral scope including planning, tracking, reminders, streaks, prioritization, timelines, reviews, and full export. This is a semantic expansion beyond a straightforward note knowledge-base skill.
Commands such as streak, remind, prioritize, timeline, report, and weekly-review introduce planner, reminder, and habit-tracking functions not implied by the manifest description. These are not obvious implementation details of tagging and full-text search.
The manifest says the skill is for organizing notes as a personal knowledge base with tagging and full-text search. In code, the advertised interface centers on unrelated workflow commands like plan, track, streak, remind, prioritize, timeline, report, and weekly-review, which turn the tool into a general productivity logger rather than a note-focused knowledge base.
The export feature aggregates all stored content into new plaintext files without warning, increasing the number of copies of potentially sensitive notes on disk and making accidental disclosure more likely through local access, syncing, or backups. In this skill's context as a personal knowledge-base tool, exported data may contain concentrated sensitive information, so silent export materially raises privacy risk.
The main command handlers append raw user input into per-command log files like add.log, plan.log, track.log, and report.log. This behavior resembles category-specific activity logging, not organizing notes into a searchable tagged knowledge base as described in the manifest.
The script persists user-supplied content to files under ~/.local/share/notelane without an explicit upfront notice or consent flow, which can expose sensitive notes to other local processes, backups, or anyone with access to the user account. In a note-taking context, users may enter secrets, personal data, or work content assuming ephemeral handling, so silent persistence increases privacy and confidentiality risk.
The skill stores user-provided note contents persistently in plain-text local logs and supports export to plain-text formats, but the user-facing description does not prominently warn about the privacy implications. In a note-taking context, users may enter sensitive personal, work, or credential-adjacent information, making undisclosed plain-text retention and export a meaningful confidentiality risk.
No suspicious patterns detected.