T09 · Insecure Skill Coding Practices
- Location
SKILL.md:47- Finding
Plaintext Email Credentials Embedded in Source Configuration
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent email-to-Excel helper, but it handles private mailbox data and reusable email credentials with weak scoping and unsafe examples.
Review this carefully before installing. Use a dedicated low-privilege mailbox or OAuth token, do not store real app passwords in source files, require the user to choose the account/message/sender before reading mail, make sender checks exact, and save attachments in a private temporary directory with size and file-type limits.
SKILL.md:47Plaintext Email Credentials Embedded in Source Configuration
SKILL.md:78Sender Allowlist Bypass Through Substring Matching
SKILL.md:93Predictable Temporary File Creation Permits Symlink-Based Overwrite
SKILL.md:100Weak Attachment Validation and Unbounded XLSX Archive Processing
The skill name/description triggers on a very broad user intent around moving email data into Excel, without requiring clearer constraints such as source account, sender scope, attachment type, or explicit confirmation before accessing mailbox contents. In an agent environment, overly generic invocation can cause the skill to activate during ordinary conversation and perform sensitive email/file operations the user did not specifically intend.
The example phrase "pobierz dane z maila i wstaw do Excela" is generic enough to overlap with normal conversational requests, increasing the chance of accidental skill invocation. Because this skill accesses email and writes spreadsheet data, unintended activation could expose private mail content or alter files even if performed on copies.
The manifest description forces a single language/locale presentation and does not indicate any user choice or opt-in for language. This can violate language policy expectations when skills should not impose a locale without justification.
The whole skill guidance is presented in Polish, including safety instructions and invocation examples, but there is no statement that the user selected Polish or that the skill is region-specific. That creates a natural-language locale constraint without documented opt-in.
No suspicious patterns detected.