T09 · Insecure Skill Coding Practices
Warning
- Location
- memory-template.md:3
- Finding
- Customer Data Persisted in Unprotected Plaintext Markdown Files## Vulnerability Details **File Location**: `memory-template.md:3-9` **Supporting Locations**: `memory-template.md:18-38`, `memory-template.md:45-60`, `escalation.md:35-50`, `scripts.md:77-81`, `scripts.md:108-113`, `SKILL.md:51-54` **Vulnerability Type**: Insecure local storage of sensitive customer information **Risk Level**: Medium ### Vulnerable Code Snippets `memory-template.md:3-9`: ```bash ## Initial Setup Create directory on first use: ```bash mkdir -p ~/call-center/scripts touch ~/call-center/memory.md touch ~/call-center/escalations.md touch ~/call-center/metrics.md ``` ``` `memory-template.md:18-38`: ```markdown ## Active Calls <!-- Current call in progress --> | Time | Caller | Issue | Status | |------|--------|-------|--------| ## Recent Interactions <!-- Last 10 calls for pattern recognition --> | Date | Caller | Type | Resolution | Duration | |------|--------|------|------------|----------| ## Open Follow-ups <!-- Promised callbacks or pending actions --> | Due | Caller | Promise | Ref# | |-----|--------|---------|------| ## Known Issues <!-- Recurring problems to watch for --> - [Issue]: [Quick resolution or escalation path] ## Caller Preferences <!-- VIP or frequent callers with notes --> | Caller | Preference | Notes | |--------|------------|-------| ``` `memory-template.md:45-60`: ```markdown # Escalation Log ## Pending Escalations | Date | Caller | Issue | Escalated To | Status | |------|--------|-------|--------------|--------| ## Escalation Patterns <!-- Issues that frequently escalate — candidates for process improvement --> | Issue Type | Frequency | Root Cause | Suggested Fix | |------------|-----------|------------|---------------| ## Escalation Contacts | Department | Contact | Hours | Use For | |------------|---------|-------|---------| | Supervisor | [Name] | 9-5 | Customer requests, auth issues | | Technical | [Team] | 24/7 | System outages, bugs | | Billing | [Team] | 9-6 | Disp ...[truncated 3374 chars]
- Remediation
- ## Remediation Suggestions 1. **Prefer an approved system of record** - Store customer interactions in an access-controlled CRM or case-management system. - Avoid duplicating customer data in local Markdown files. 2. **Enforce restrictive permissions if local storage is unavoidable** - Create the directory and files with owner-only access: ```bash install -d -m 0700 "$HOME/call-center/scripts" install -m 0600 /dev/null "$HOME/call-center/memory.md" install -m 0600 /dev/null "$HOME/call-center/escalations.md" install -m 0600 /dev/null "$HOME/call-center/metrics.md" ``` - Validate existing permissions before every use and fail safely if they are too broad. - Do not rely solely on the ambient `umask`. 3. **Minimize collected data** - Use opaque CRM or case identifiers rather than names, phone numbers, email addresses, or account numbers. - Prohibit storage of credentials, authentication answers, payment-card data, government identifiers, and unnecessary verbatim statements. - Redact sensitive legal, fraud, medical, and safety details unless operationally required. 4. **Protect data at rest** - Encrypt sensitive local records with organization-managed keys. - Ensure encryption keys are not stored beside the records. - Restrict backup, synchronization, indexing, and telemetry tools from collecting the directory unless explicitly approved. 5. **Define lifecycle controls** - Establish documented retention periods for active calls, recent interactions, preferences, and escalation logs. - Automatically purge expired records and use an approved secure-deletion process where required. - Remove resolved follow-ups and obsolete caller preferences promptly. 6. **Add privacy and access safeguards** - Document the lawful or organizational basis for collection. - Limit record access by role and maintain access audit logs. - Require review and approval before recording particularly sensitive legal, fraud, or s ...[truncated 130 chars]
