T09 · Insecure Skill Coding Practices
- Location
setup.md:11- Finding
Automatic Plaintext Persistence of Sensitive Career and Behavioral Data
- Content
View full analysis
Vulnerability Details
File Location:
setup.md:11-23
Related Locations:SKILL.md:22,SKILL.md:98-112,memory-template.md:3-52
Vulnerability Type: Sensitive data stored in plaintext without explicit consent or documented access controls
Risk Level: MediumVulnerable Code Snippet
markdown 1. Read `~/Clawic/data/career/config.yaml` if it exists. Apply its values. 2. For anything absent, use the defaults in the Configuration table of `SKILL.md` — do not ask. - `region: US`, `career_stage: mid`, `risk_posture: moderate`, `visa_dependent: false`. 3. Read `~/Clawic/data/career/profile.md` (comp history, market band, constraints, values, targets) and `memory.md` (observed patterns). Absence is fine; proceed without comment and create `profile.md` on the first substantive session. Work from defaults immediately. Never open with questions about goals, comp, or how much help they want. ## Recording (only when the user reveals something) - User states region, career stage, risk posture, or visa situation → update the matching key in `~/Clawic/data/career/config.yaml`. - User shares comp numbers, offers, band data, constraints, values, or targets → update `profile.md`. These are the facts that make advice cumulative instead of amnesiac. - Patterns you observe (decision style, anchors they fall for, whether they want frameworks or word-for-word scripts) → `memory.md`. An observation never overwrites a declared preference without the user's confirmation. - User corrects earlier guidance → update the stored value so it never repeats.The corresponding data model includes sensitive and inferred information:
markdown ## Constraints <!-- location, remote needs, visa status, family, excluded industries --> ## Observed Patterns <!-- decision style, anchors they fall for, confidence blind spots -->Technical Analysis
The skill directs the agent to create and continually update Markdown and YAML files under `~/Clawic/data ...[truncated 2619 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit, informed opt-in before creating any persistent career record.
- Display the exact proposed additions and obtain confirmation before writing sensitive facts or inferred patterns.
- Disable persistence of behavioral inferences by default; store them only after explicit user approval.
- Minimize collection and avoid retaining visa, family, compensation, or offer data unless necessary for a requested ongoing workflow.
- Create the directory and files with owner-only permissions, such as mode
0700for directories and0600for files. - Prefer encrypted local storage or an operating-system-protected credential/data store for sensitive fields.
- Add documented commands or procedures to inspect, correct, export, and permanently delete all stored records.
- Define retention periods and automatically expire stale offer, compensation, and decision data.
- Treat stored files as untrusted input when reloaded and prevent their content from overriding system safety rules or unrelated task instructions.
- Clearly label inferred observations, preserve provenance and timestamps, and never allow an inference to supersede a user-declared fact without confirmation.
