T09 · Insecure Skill Coding Practices
- Location
scripts/main.go:163- Finding
SMTP TLS Certificate Verification Is Disabled
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This 163 Mail sender appears to do what it claims, but it needs review because it disables SMTP certificate checks and logs email details by default.
Review before installing or using with real mail credentials. Remove InsecureSkipVerify, make logs opt-in or private/redacted, avoid shared log directories, do not send confidential content through this version, and do not pass untrusted text as the subject until header validation is added.
scripts/main.go:163SMTP TLS Certificate Verification Is Disabled
scripts/main.go:111Sensitive Email Data Is Logged with Permissive File Permissions
scripts/main.go:240User-Controlled Subject Permits Raw Email Header Injection
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
go build -o email163 main.go
# 将可执行文件移动到PATH目录(可选)
sudo mv email163 /usr/local/bin/
# 或者直接使用go install
go install
The skill explicitly documents that logs include sending time, subject, recipients, content, and results, but it does not clearly warn users that sensitive email bodies and recipient addresses may be persisted to disk. This creates a real privacy and data-leakage risk, especially if the tool is used for confidential notifications, credentials, personal data, or internal operational messages and logs are stored in shared or weakly protected locations.
The skill's help text and all user-visible console messages are presented only in Chinese, which imposes a language choice on users without opt-in. Under the stated policy, forcing a specific language without offering a choice is a natural-language policy violation unless clearly justified as region-specific.
The program writes recipients, subject, and up to 200 characters of email body into a log file, which may contain sensitive business or personal data. Because logging is enabled by default via './' unless explicitly changed, this creates unintended data retention and disclosure risk if local users, backups, or log collectors can access the files.
The shell script contains a natural-language comment in Chinese ('编译main.go为email163可执行文件') with no indication that the skill supports user language choice or is intentionally limited to a Chinese-speaking context. Per the policy, forcing a specific language without opt-in is a locale/language policy concern.
The help text says the log records include '内容' and describes the logging feature as recording the email content, which implies the full content is logged. In the implementation, the content is explicitly shortened to 200 characters before being written, so the documentation overstates what the code actually records.
The program accesses EMAIL163_ADDRESS and EMAIL163_PASSWORD, which are sensitive credentials. The help text lists the required environment variables, but the execution path that reads them provides no disclosure that sensitive credentials are being consumed for authentication.