T09 · Insecure Skill Coding Practices
- Location
SKILL.md:278- Finding
Persistent Plaintext Logging of Typed Sensitive Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:278-283
Vulnerability Type: Sensitive data exposure through persistent plaintext logs
Risk Level: HighVulnerable snippet:
text All operations are automatically recorded under: $HOME/.skill-platform/autopilot/logs/ 2026-07-18T09:00:00Z | click_image | submit.png | SUCCESS | (520, 340) 2026-07-18T09:00:02Z | type_text | john@example.com | SUCCESS 2026-07-18T09:00:05Z | wait_for_text | Login successful | TIMEOUT | The text did not appear within 10 secondsThe prose and localized status text above are rendered in English while preserving the behavior documented by the source.
Technical Analysis
The skill states that every operation is recorded persistently and demonstrates that the complete argument supplied to
type_textis included in the log. GUI automation commonly types passwords, API tokens, personal information, payment details, recovery codes, and other secrets.Logging raw input values creates a secondary plaintext repository of sensitive information. The document does not define value redaction, field classification, restrictive file permissions, encryption, retention limits, or secure deletion. Its later generic recommendation to prevent secrets from appearing in output does not correct the explicitly demonstrated logging behavior.
Because the project contains no implementation, the precise permissions and retention behavior cannot be validated. Nevertheless, following the documented logging design would directly expose typed values.
Attack Path
- A user invokes the skill to automate a login, account setup, payment form, or another sensitive workflow.
- The workflow calls
type_textwith a username, password, token, or personal record. - The documented operation logger writes the complete input value under
$HOME/.skill-platform/autopilot/logs/. - Another local user, process, backup agent, diagnostic collector, suppor ...[truncated 629 chars]
- Remediation
View remediation
Remediation Suggestions
- Never record the raw argument supplied to keyboard-input or clipboard-paste operations.
- Log only the action type, timestamp, target application or field identifier, status, and a value such as
[REDACTED]. - Treat password, token, payment, authentication, and identity fields as sensitive by default.
- Make diagnostic value logging an explicit, short-lived opt-in mode with prominent warnings.
- Create log files with owner-only permissions and reject insecure pre-existing log directories or symbolic links.
- Define strict retention and secure-deletion policies.
- Avoid collecting screenshots around password, payment, or token fields unless explicitly authorized.
- Add automated tests proving that passwords, API keys, email addresses, tokens, and clipboard contents never appear in logs.
