安全决策报告

recruit-email-monitor

Hardcoded real email credentials (QQ and 163 authorization codes) are exposed in source code, enabling unauthorized account access to anyone who downloads this skill.

安装决策优先 来源: 手动上传 扫描时间: 2026/4/4
文件 7
IOC 4
越权项 0
发现 5
最直接的威胁证据
严重 凭证窃取
Hardcoded QQ Email Authorization Code

Real QQ email authorization code 'bxfwjdtvienzdihi' for account [email protected] is hardcoded directly in source code at line 19. This credential grants full POP3 access to the email account.

scripts/email-heartbeat-check.py:19

为什么得出这个结论

1/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

复核
隐藏执行与外联

提取到 4 个一般风险产物,需要结合上下文判断。

阻止
攻击链与高危发现

报告包含 4 步攻击链,另有 4 项高危或严重发现。

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

攻击链

01
Attacker clones/downloads the skill from repository

reconnaissance · github.com/nhaoxi/recruit-email-monitor

02
Attacker reads email-heartbeat-check.py and extracts hardcoded credentials

exploitation · scripts/email-heartbeat-check.py:19

03
Attacker uses extracted credentials to access QQ email ([email protected]) via POP3

最终危害 · scripts/email-heartbeat-check.py:19

04
Attacker uses extracted credentials to access 163 email ([email protected]) via POP3

最终危害 · scripts/email-heartbeat-check.py:25

风险分是怎么被拉高的

Hardcoded credentials in source code +35

Real QQ email authorization code 'bxfwjdtvienzdihi' and 163 authorization code 'XStys36TXuV6geTq' hardcoded in email-heartbeat-check.py lines 19,25

Doc-to-code mismatch +15

SKILL.md line 16 shows placeholder '[email protected]' but code contains real credential '[email protected]'

Sensitive path exposure +10

Hardcoded paths reveal author username '/home/erhao/shared/'

Credential harvesting from source +8

Anyone can extract credentials by reading the Python script

最关键的证据

严重 凭证窃取

Hardcoded QQ Email Authorization Code

Real QQ email authorization code 'bxfwjdtvienzdihi' for account [email protected] is hardcoded directly in source code at line 19. This credential grants full POP3 access to the email account.

scripts/email-heartbeat-check.py:19
Immediately rotate this authorization code in QQ mail settings and replace with environment variable: os.environ.get('QQ_EMAIL_AUTH_CODE')
严重 凭证窃取

Hardcoded 163 Email Authorization Code

Real 163 email authorization code 'XStys36TXuV6geTq' for account [email protected] is hardcoded directly in source code at line 25. This credential grants full POP3 access to the email account.

scripts/email-heartbeat-check.py:25
Immediately rotate this authorization code in 163 mail settings and replace with environment variable: os.environ.get('MAIL_163_AUTH_CODE')
高危 文档欺骗

Documentation Shows Placeholders, Code Contains Real Credentials

SKILL.md line 16 and INSTALL.md show placeholder credentials like '[email protected]' and 'your_auth_code', but the actual code contains real, working credentials. This creates a deceptive situation where documentation suggests configuration is needed, but real credentials are already present.

scripts/email-heartbeat-check.py:16
Remove all real credentials from source code. Use placeholder values that clearly indicate configuration is required.
高危 敏感访问

Hardcoded Author Path Exposure

Multiple hardcoded paths reveal the original author's username 'erhao' including /home/erhao/shared/ and /home/erhao/.openclaw/. This exposes private directory structure.

scripts/email-heartbeat-check.py:51
Use environment variables or relative paths for file storage: os.path.expanduser('~/shared/...') or get from config.
中危 凭证窃取

Hardcoded Feishu User ID

Feishu user ID 'ou_8de02604ccd510eeb4897ffd70d96c1d' is hardcoded in both scripts at lines 155 and 281. While not a secret credential, it links the skill to a specific user.

scripts/email-heartbeat-check.py:155
Move to configuration file or environment variable.

声明能力 vs 实际能力

网络访问 通过
声明 READ
推断 READ
poplib.POP3_SSL connections to email servers (declared)
文件系统 通过
声明 WRITE
推断 WRITE
openpyxl workbook saves, JSON writes to /home/erhao/.openclaw/
命令执行 通过
声明 WRITE
推断 WRITE
subprocess.run(['openclaw', 'message', 'send']) at lines 155, 281

依赖与供应链

包名版本来源漏洞备注
openpyxl * pip Version not pinned but widely used, no known vulnerabilities relevant to this use case

文件构成

7 个文件 · 1267 行
Python 2 个文件 · 625 行Markdown 3 个文件 · 575 行JSON 2 个文件 · 67 行
需关注文件 · 2
scripts/email-heartbeat-check.py Python · 382 行
Hardcoded QQ Email Authorization Code · Hardcoded 163 Email Authorization Code · Documentation Shows Placeholders, Code Contains Real Credentials · Hardcoded Author Path Exposure · Hardcoded Feishu User ID · [email protected] · [email protected]
README.md Markdown · 172 行
其他文件 · email-daily-briefing.py · INSTALL.md · SKILL.md · cron-jobs.json · _meta.json

安全亮点

Subprocess usage for openclaw CLI is documented and declared
No base64 encoding or obfuscation detected
No reverse shell or C2 communication patterns
No malicious dependencies detected (only openpyxl)
No evidence of intentional data exfiltration beyond email monitoring purpose