T09 · Insecure Skill Coding Practices
- Location
SKILL.md:94- Finding
Unconditional Persistence of Potentially Sensitive Session Transcripts
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 94–103
Vulnerability Type: Plaintext persistence of potentially sensitive session data
Risk Level: MediumVulnerable Code
markdown ### 6. Persist Every Session Save transcripts to disk. Each transcript should include: - session id - timestamp - prompt - tool steps - final responseTechnical Analysis
The Skill directs implementers to save every session transcript to disk, including the prompt, tool activity, and final response. These fields can contain credentials, source code, personal data, environment details, filesystem contents, or other confidential information encountered during an agent run.
The guidance does not require user consent, secret redaction, output filtering, restrictive filesystem permissions, encryption, retention limits, secure deletion, or exclusion of sensitive tool results. An implementation that follows the instructions literally may therefore create a durable plaintext repository of sensitive information.
The issue is limited to insecure design guidance: this project contains no executable implementation that itself writes transcripts.
Attack Path
- A user includes confidential information in a prompt, or an agent tool accesses sensitive local content.
- The harness records the prompt, tool steps or results, and final response as directed.
- The complete transcript is persisted to disk without mandatory redaction or storage protections.
- Another local user, compromised process, backup operator, or later session with access to the transcript directory reads the stored content.
- The exposed information is used to access affected accounts, repositories, systems, or private data, depending on what the transcript contains.
Impact Assessment
An attacker does not gain privileges directly from the Skill. However, readable transcripts may disclose secrets that enable subsequent unauthorized access with the privileges associated with ...[truncated 313 chars]
- Remediation
View remediation
Remediation Suggestions
- Make transcript persistence explicitly configurable and opt-in where appropriate.
- Obtain informed user consent before retaining prompts and tool results.
- Redact API keys, passwords, tokens, private keys, authorization headers, and other recognized secrets before writing transcripts.
- Permit sensitive tools and individual tool results to be excluded from recording.
- Store transcripts in a documented, dedicated directory with restrictive owner-only permissions.
- Use encryption at rest when transcripts may contain confidential information, with keys stored separately from transcript files.
- Define retention periods, automatic expiration, and secure deletion behavior.
- Prevent transcript files from being committed to version control or included in broadly accessible diagnostics.
- Document whether backups and synchronization services may copy transcript data.
- Add tests verifying redaction, access permissions, retention, deletion, and disabled-persistence behavior.
