imap-smtp-email
11 findings (1 high, 6 medium, 4 low), mainly data exfiltration, tool chaining abuse, social engineering. Most recent scan 2026-02-06.
This email management skill presents MODERATE to HIGH security risks primarily related to credential handling and data access. The skill's core functionality (IMAP/SMTP email access) is legitimate and matches its description, but it handles highly sensitive data (email credentials and content) with insufficient safeguards. Key concerns include: (1) plaintext credential storage in .env files, (2) broad unrestricted access to email content and attachments, (3) email sending capability without explicit confirmation requirements, (4) potential command injection vectors in script execution, and (5) ability to disable TLS certificate validation. The skill would benefit from additional security controls including mandatory user confirmation for sensitive operations, credential encryption, input validation, and more comprehensive security documentation. The missing 'allowed-tools' declaration and incomplete documentation also reduce transparency. Users should exercise caution and implement additional safeguards when using this skill with sensitive email accounts.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Works with any IMAP/SMTP server including Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, and vip.188.com.
- Package
- 6 files, 35 KB
- SKILL.md
- 761 words, 12+ sections
- Code
- JavaScript (2), Shell (1)
SKILL.md covers: IMAP/SMTP Email Tool · Configuration · IMAP Configuration (receiving email) · SMTP Configuration (sending email) · Common Email Servers · IMAP Commands (Receiving Email) · check · fetch · download · search · mark-read / mark-unread · list-mailboxes
Findings
HIGH Hardcoded Email Credentials in Environment Configuration Data Exfiltrationllm
The skill requires users to store email credentials (IMAP_USER, IMAP_PASS, SMTP_USER, SMTP_PASS) in a .env file or environment variables. While this is a common pattern, it creates significant credential exposure risk if the .env file is accidentally committed to version control, shared, or accessed by other processes. The setup.sh script actively prompts users to enter credentials and writes them to disk in plaintext. Email credentials provide access to potentially sensitive communications and could be used for account takeover.
SKILL.md
IMAP_PASS=your_password
SMTP_PASS=your_password
The setup.sh script prompts for and stores credentials in plaintext .env fileMEDIUM TOOL CHAINING ABUSE detected by YARA Tool Chaining Abusestatic
Detects suspicious tool chaining patterns that could lead to data exfiltration: Read, search, and manage email via IMAP protocol. Send email
SKILL.md:3
Read, search, and manage email via IMAP protocol. Send email via SMTP. Supports Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, vip.188.com, and any standard IMAP/SMTP server.MEDIUM TOOL CHAINING ABUSE detected by YARA Tool Chaining Abusestatic
Detects suspicious tool chaining patterns that could lead to data exfiltration: Fetch full email
SKILL.md:63
Fetch full email content by UID.MEDIUM TOOL CHAINING ABUSE detected by YARA Tool Chaining Abusestatic
Detects suspicious tool chaining patterns that could lead to data exfiltration: read -p "Email address: " EMAIL
setup.sh:124
read -p "Email address: " EMAILMEDIUM Unrestricted Email Access and Data Exposure Data Exfiltrationllm
The skill provides broad access to email content including the ability to read all emails, download attachments, and search across mailboxes without apparent restrictions. The 'check' command can retrieve recent emails, 'fetch' can access full email content by UID, and 'download' can extract all attachments. This creates risk of excessive data collection if the agent autonomously accesses more emails than necessary for the user's stated task. Email content often contains sensitive personal information, financial data, and confidential communications.
SKILL.md
node scripts/imap.js check [--limit 10]
node scripts/imap.js fetch <uid>
node scripts/imap.js download <uid>
Commands allow unrestricted access to email content and attachmentsMEDIUM Email Sending Capability Without Explicit Safeguards Data Exfiltrationllm
The skill includes SMTP functionality to send emails with attachments. While this is the stated purpose, there are no apparent safeguards mentioned to prevent misuse such as: sending emails without user confirmation, sending to unintended recipients, or being used for spam/phishing if the agent is compromised or manipulated. The SMTP configuration allows specifying a default sender address (SMTP_FROM) which could be used to impersonate the user.
SKILL.md
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your@gmail.com
SMTP_FROM=your@gmail.com
SMTP commands allow sending email with attachmentsMEDIUM Command Injection Risk in Node.js Script Execution Command Injectionllm
The skill executes Node.js scripts (imap.js, smtp.js) with command-line arguments that may include user-provided data such as email UIDs, mailbox names, search criteria, file paths, and email addresses. If these arguments are not properly sanitized in the Node.js scripts, they could be vulnerable to command injection attacks. The documentation shows examples like 'node scripts/imap.js search [options]' where options could include user-controlled strings.
SKILL.md
node scripts/imap.js fetch <uid>
node scripts/imap.js download <uid> [--dir <path>] [--file <filename>]
node scripts/smtp.js send --to <email> --subject <subject>
User-controlled parameters passed to shell commandsLOW Skill does not specify a license Policy Violationstatic
Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.
SKILL.md
LOW TLS Certificate Validation Can Be Disabled Data Exfiltrationllm
The configuration allows setting IMAP_REJECT_UNAUTHORIZED=false and SMTP_REJECT_UNAUTHORIZED=false to bypass TLS certificate validation for self-signed certificates. While this may be necessary for some corporate environments, it exposes users to man-in-the-middle attacks where an attacker could intercept email credentials and content. The documentation mentions this option without adequate security warnings.
SKILL.md
IMAP_REJECT_UNAUTHORIZED=true # Set to false for self-signed certs
SMTP_REJECT_UNAUTHORIZED=true # Set to false for self-signed certsLOW Missing Security Metadata and Tool Restrictions Social Engineeringllm
The skill manifest is missing important security metadata: no 'allowed-tools' specification, no 'license' field, and no 'compatibility' information. The absence of 'allowed-tools' means there are no declared restrictions on which agent tools can be used, making it harder for users to assess the skill's capabilities and potential risks. While this is optional per the spec, it represents a missed opportunity for transparency.
allowed-tools: Not specified
license: Not specified
compatibility: Not specifiedLOW Incomplete Documentation - Referenced Files Not Found Social Engineeringllm
The instruction body references three files (last.py, file.py, an.py) that were not found in the skill package. This appears to be corrupted or incomplete documentation, potentially from a truncated markdown section. While not a direct security threat, incomplete documentation could lead to user confusion or unexpected behavior if users attempt to use features that don't exist or are improperly documented.
Files referenced in instructions: last.py, file.py, an.py
All three files marked as 'not found'What is in the package
| File | Kind | Size |
|---|---|---|
README.md | doc | 4.2 KB |
SKILL.md | doc | 5.9 KB |
package.json | config | 764 B |
setup.sh | script | 4.0 KB |
scripts/imap.js | script | 14 KB |
scripts/smtp.js | script | 5.7 KB |
Environment variables referenced
EMAIL IMAP_HOST IMAP_PORT REJECT_UNAUTHORIZED SMTP_HOST SMTP_PORT IMAP_PASS IMAP_REJECT_UNAUTHORIZED PASSWORD SMTP_PASS SMTP_REJECT_UNAUTHORIZED PROVIDER_CHOICE
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/imap-smtp-email
- Raw scan result: imap-smtp-email-scan.json
- Badge for your README:
 - Request a re-scan