T09 · Insecure Skill Coding Practices
- Location
SKILL.md:76- Finding
Automatic GitHub Issue Creation May Disclose Sensitive Session Content
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 76–80 and 127–139
Vulnerability Type: Sensitive information exposure through unsafe external publication
Risk Level: MediumVulnerable Code
markdown Treat an explicit request to record or defer an item as consent. This includes phrases such as "记一下", "以后再说", "log this", "track this", and direct `dev-inbox` invocation. 1. Classify the item. 2. Check for an existing related record. 3. Persist or merge it without asking for confirmation again. 4. Report the record location, then return to the active objective.markdown 1. **GitHub remote + `gh` CLI available** - Check: `git remote get-url origin 2>/dev/null && command -v gh` - Action: `gh issue create` with title, label, and body - Why discoverable: Agent can `gh issue list --state open --label <type>` - Merge logic: Search open issues with same label + similar title keywords. If found → append checklist item. If unsure → ask user. 2. **Agent memory system available** (Devin memories, Claude memory, etc.) - Action: Write to memory with `[TODO]` prefix and type/priority metadata - Why discoverable: Automatically loaded on next session start 3. **Project directory exists** - Action: Append to `TODO.md` in project root (create if absent)Technical Analysis
The Skill interprets a general request to remember, track, or defer an item as authorization to persist it without further confirmation. Its destination hierarchy prioritizes creating a GitHub Issue whenever a GitHub remote and the
ghcommand are available.Consent to remember information does not necessarily constitute informed consent to transmit that information to a remote repository. The instructions do not require the agent to:
- Check whether the destination repository is public or private.
- Confirm that the selected remote belongs to the intended project or organization.
...[truncated 2225 chars]
- Remediation
View remediation
Remediation Suggestions
- Default to a local destination such as
TODO.mdunless the user explicitly requests creation of a GitHub Issue. - Distinguish consent to retain information from consent to transmit it externally. Require destination-specific confirmation before the first remote publication.
- Display the target repository, its visibility, issue title, labels, and sanitized body before submission.
- Verify that the GitHub remote corresponds to the active project and query repository visibility before creating an issue.
- Scan titles and bodies for access tokens, passwords, private keys, connection strings, personal data, customer identifiers, and other confidential material.
- Redact suspected secrets automatically and require explicit confirmation when potentially sensitive content remains.
- Provide a policy option that permanently disables remote destinations or restricts publication to approved repositories.
- Avoid placing sensitive details in command-line arguments. Use a securely permissioned temporary file or standard input for the issue body, and delete temporary data immediately afterward.
- Document that GitHub Issues may trigger notifications, webhooks, indexing, and long-term retention beyond the repository itself.
- Default to a local destination such as
