T09 · Insecure Skill Coding Practices
- Location
memory-template.md:3- Finding
Customer Data Persisted in Unprotected Plaintext Markdown Files
- Content
View full analysis
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: MediumVulnerable 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.mdtext `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
View remediation
Remediation Suggestions
-
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.
-
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.
-
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.
-
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.
-
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.
-
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]
-
