T09 · Insecure Skill Coding Practices
Error
- Location
- assets/ONBOARDING.md:35
- Finding
- Persistent Plaintext Collection of Sensitive Personal Context<![CDATA[ ## Vulnerability Details **File Location**: `assets/ONBOARDING.md:35-75`, `assets/MEMORY.md:7-42`, `references/onboarding-flow.md:65-90` **Vulnerability Type**: Excessive plaintext collection and retention of personal information **Risk Level**: High ### Vulnerable Code Snippets From `assets/ONBOARDING.md`: ```markdown ### 3. Goals **What's your primary goal right now? (1-3 sentences)** > **What does "winning" look like for you in 1 year?** > **What does ideal life look/feel like when you've succeeded?** > ### 4. Work Style **When are you most productive? (morning/afternoon/evening)** > **Do you prefer async communication or real-time?** > ### 5. Context **What are you currently working on? (projects, job, etc.)** > **Who are the key people in your work/life I should know about?** > ``` From `assets/MEMORY.md`: ```markdown ## About [Human Name] ### Key Context [Important background that affects how you help them] ### Preferences Learned [Things you've discovered about how they like to work] ### Important Dates [Birthdays, anniversaries, deadlines they care about] ## Ongoing Context ### Active Projects [What's currently in progress] ### Key Decisions Made [Important decisions and their reasoning] ## Relationships & People ### [Person Name] [Who they are, relationship to human, relevant context] ``` From `references/onboarding-flow.md`: ```markdown ### Skip Mode User doesn't want formal onboarding. 1. "Got it. I'll learn as we go." 2. Agent works immediately with defaults 3. Fills in USER.md from natural conversation 4. May never formally "complete" onboarding — that's fine ## Opportunistic Learning Even outside formal onboarding, notice and capture: | User Says | Learn | |-----------|-------| | "I'm in New York" | Timezone: America/New_York | | "I hate long emails" | Communication: brief | | "My cofounder Sarah..." | Key person: Sarah (cofounder) | | "I'm building an app for..." | Current project | Update USER.md and mark ...[truncated 1931 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Make all personal-data collection explicitly opt-in. 2. Treat “skip onboarding” as a refusal to persist inferred profile data unless the user separately enables it. 3. Collect only fields needed for a current task; do not collect relationship or lifestyle information by default. 4. Show users exactly what will be stored before writing it. 5. Add configurable retention periods and automatic expiry. 6. Provide commands to inspect, export, correct, and permanently delete stored profile data. 7. Require restrictive file permissions for memory files and document appropriate filesystem protections. 8. Separate sensitive personal information from general operational notes. 9. Avoid duplicating answers across `ONBOARDING.md`, `USER.md`, daily notes, and `MEMORY.md`. 10. Add redaction rules for secrets, financial information, health data, and third-party personal information. ]]>
