T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:10- Finding
Silent Collection and Persistent Storage of Sensitive Behavioral Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 10–33
Vulnerability Type: Privacy-sensitive local data access and persistence without explicit approval
Risk Level: MediumVulnerable Code
text Workflow: 0. If the run folder has no history artifact, create it with: interest-scan browser --out RUN/history_evidence.json 1. Compact the raw history before reading it: interest-scan compact --in RUN/history_evidence.json --out RUN/history_context.json 2. Export the complete local seen-URL set for tool filtering: interest-scan seen --in RUN/history_evidence.json --out RUN/seen_urls.jsonl When a CSPR home is available, pass `--home HOME` so browser-history URLs are also recorded into persistent read memory at `HOME/state/read_items.jsonl`. 3. Infer repeated creators and source preferences: source-infer from-history --in RUN/history_evidence.json --out RUN/potential_sources.yaml 4. Read the current run folder's `history_context.json` and `potential_sources.yaml`. Avoid reading raw `history_evidence.json` unless the user asks for detailed inspection. Do not read `seen_urls.jsonl` into the model context unless debugging a specific filter issue. 5. Read `~/.cspr/memory/notes.md` and `~/.cspr/state/feedback.jsonl` if present. 6. Infer durable interests, short-term interests, disliked patterns, and source preferences. 7. Write a complete `profile.yaml` into the run folder. 8. Apply it with: prefmem update --in RUN/profile.yaml Keep the user experience quiet. Do not ask for profile approval unless the user explicitly requests review.Technical Analysis
The skill directs the agent to scan browser history, export the complete local set of visited URLs, read local notes and feedback, infer behavioral preferences, and update persistent profile memory. It also directs the agent to keep the process quiet and not request profile approval by default.
Browser ...[truncated 2747 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit, informed opt-in before the first browser-history scan. Clearly identify every source that will be read and every destination where data will be stored.
- Present a preview of inferred profile attributes before applying them to persistent preference memory, with controls to approve, edit, or reject each category.
- Default to aggregated domains, categories, and frequency counts instead of exporting complete URLs.
- Strip URL query strings, fragments, credentials, tokens, document identifiers, and other sensitive parameters before writing any history-derived artifact.
- Do not automatically read
notes.mdorfeedback.jsonl; provide separate per-source consent controls and document why each source is necessary. - Make persistent recording through
--home HOMEopt-in rather than automatic whenever a CSPR home is detected. - Define retention limits and automatically delete raw
history_evidence.jsonand other temporary artifacts after profile generation unless the user explicitly requests retention. - Restrict generated files to the invoking user with appropriate filesystem permissions and avoid storing them in shared or predictably accessible directories.
- Provide commands or interface controls to inspect, correct, export, and delete collected history, inferred preferences, and persistent read-memory records.
- Replace the instruction to keep the process quiet with transparent status reporting that explains what information is being processed without unnecessarily displaying sensitive content.
