139mail(非官方)

WarnAudited by ClawScan on May 10, 2026.

Overview

This unofficial 139 Mail skill is mostly purpose-aligned, but it handles your mailbox authorization code over weakened TLS and has a delete path that may permanently remove mail unexpectedly.

Review carefully before installing. If you use it, create a dedicated 139 Mail authorization code, use it only on trusted networks, avoid the delete command for important messages until fixed, and revoke the authorization code when finished.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

On an untrusted network, a man-in-the-middle attacker could more easily impersonate the mail server and expose your mailbox authorization code or mail data.

Why it was flagged

The skill authenticates to the IMAP server using the saved username and authorization code while certificate verification is disabled and TLS security is lowered.

Skill content
ssl_context = ssl._create_unverified_context(); ssl_context.set_ciphers('DEFAULT@SECLEVEL=1')
Recommendation

Use only a revocable mail authorization code, avoid untrusted networks, and prefer a version that preserves certificate verification or clearly explains the exact TLS tradeoff.

What this means

A normal delete action that appears recoverable may permanently remove a message if the trash-folder copy fails.

Why it was flagged

If copying a message to Deleted/Trash fails, the code suppresses the error and still deletes and expunges the message from INBOX.

Skill content
except:
                        pass
                server.delete_messages([args.delete])
                server.expunge()
Recommendation

Do not rely on this delete command for important mail unless the code is fixed to stop on copy failure and require explicit confirmation before expunge.

What this means

Anyone who can read this local config file may be able to access the mailbox through IMAP/SMTP.

Why it was flagged

The skill saves the mailbox authorization code in a local JSON config file and attempts to restrict file permissions.

Skill content
config['password'] = password
...
json.dump(config, f, indent=2, ensure_ascii=False)
...
os.chmod(CONFIG_FILE, 0o600)
Recommendation

Use a dedicated authorization code, protect the local config directory, and revoke the code when you stop using the skill.

What this means

If invoked on the wrong instruction, the agent could change mailbox state or send mail from your account.

Why it was flagged

The skill intentionally gives the agent mailbox mutation powers, including sending, moving, marking, deleting, and permanently deleting messages.

Skill content
发送邮件、搜索邮件、管理邮件、邮件分拣
Recommendation

Ask for confirmation before sending mail, deleting mail, or moving large numbers of messages, and review message IDs carefully.

What this means

A future or compromised dependency version could affect the behavior of the mail scripts.

Why it was flagged

The setup instructions install an unpinned third-party Python package; this is purpose-aligned but leaves version/provenance to the user’s package environment.

Skill content
pip install imapclient
Recommendation

Install from a trusted Python package index and consider pinning a known-good imapclient version.