Back to skill

Security audit

MailMe X News

Security checks for vulnerabilities and agentic risk

Overview

This skill is clear about scraping X posts and emailing summaries, but it is configured to automatically send browser-derived content to preset external recipients and includes a troubleshooting command that can reveal the SMTP password.

Review and replace config.json recipients before use, run the workflow only when you intend to email the scraped summary, avoid scheduling it until the output and recipients are proven correct, and do not use the documented password-printing troubleshooting command; prefer a redacted SMTP status check or rotate the credential if it has been exposed.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:91
Finding

SMTP Password Disclosure Through Troubleshooting Command

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 91
Vulnerability Type: Plaintext credential exposure
Risk Level: Medium

bash
python3 send_email.py username
python3 send_email.py password

Technical Analysis

The troubleshooting documentation instructs the operator or AI agent to invoke commands that retrieve the configured SMTP username and password. In particular, the password command may expose the plaintext SMTP secret in command output.

Printing a credential unnecessarily places it in additional security domains, including terminal output, AI-agent context, execution logs, troubleshooting transcripts, monitoring systems, and retained session records. Any party or process able to access those records could recover the credential without directly accessing the original secret store.

Attack Path

  1. Email delivery fails or an operator initiates troubleshooting.
  2. The operator or AI agent follows the documented instructions.
  3. python3 send_email.py password retrieves and prints the configured SMTP password.
  4. The plaintext output is retained in a terminal transcript, agent context, command log, or monitoring system.
  5. A user or process with access to that retained output obtains the SMTP credential.
  6. The exposed credential may be used to authenticate to the associated mail service, subject to the permissions and controls applied to that SMTP account.

Impact Assessment

Successful exploitation could disclose the configured SMTP username and password. Depending on the privileges of the affected account, an attacker could send unauthorized email, impersonate the account, distribute phishing content, access mail-related services, or damage the sender's reputation.

The maximum scope is limited by the SMTP account's permissions, provider-side access controls, network restrictions, and multifactor authentication requirements. This finding does not establish that credentials a ...[truncated 123 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove the command that prints the SMTP password.
  2. Replace credential-retrieval troubleshooting with a redacted status command that reports only whether each required value is configured.
  3. Add an authentication test that returns success or failure without displaying the submitted secret.
  4. Ensure diagnostic output masks sensitive values, showing at most a short non-sensitive suffix when identification is necessary.
  5. Prevent secrets from being written to logs, terminal transcripts, exception messages, or AI-agent context.
  6. Store SMTP credentials in an operating-system credential store, dedicated secret manager, or protected environment rather than a plaintext configuration file.
  7. If the password command has already been used in recorded sessions, review relevant logs and transcripts, remove exposed values where feasible, and rotate the affected SMTP credential.
  8. Restrict the SMTP account to the minimum necessary sending privileges and configure provider-side rate limits and alerts.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Both the description and overview say the posts will be translated into Chinese as part of the default behavior. This imposes a fixed language/locale choice without user opt-in, and the file does not document that the skill is intentionally limited to a Chinese-language workflow for a justified regional purpose.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The quick-start trigger phrase is extremely broad and maps directly to a workflow that can perform multiple side effects, including scraping content, generating derived files, and sending email automatically. This increases the risk of accidental invocation or ambiguous user requests being interpreted as consent for external data access and outbound transmission.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The workflow automatically creates local files from scraped content and sends a compiled summary by email, but it does not clearly warn that third-party content, potentially sensitive browsing-derived data, and generated summaries will be transmitted to external recipients. Users may unknowingly expose private, copyrighted, regulated, or sensitive information because the skill emphasizes automation without equivalent privacy and data-handling disclosures.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.