Hetu Lyrics Blessing

Security checks across static analysis, malware telemetry, and agentic risk

Overview

The skill’s lyric-reminder purpose is understandable, but the included script contains hard-coded QQ email credentials and a fixed recipient, and it can be scheduled to keep sending messages.

Do not run or schedule this skill as-is. Remove the hard-coded QQ email account, auth code, and recipient; rotate the exposed credential; configure your own SMTP details securely; and only then consider adding the cron job.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

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

A user who runs the script without editing it could send email from someone else’s configured QQ mailbox to a predetermined recipient, and the exposed credential may already be compromised.

Why it was flagged

The script contains a hard-coded SMTP account, auth code/password, and recipient. Running it as shipped logs into that account and sends email to the fixed address, while the registry metadata declares no credentials.

Skill content
SMTP_EMAIL = "853375443@qq.com"
SMTP_PASSWORD = "nzhgbgilzgmabeih"

TO_EMAIL = "836633245@qq.com"
Recommendation

Remove hard-coded secrets and recipients, rotate the exposed SMTP auth code, require credentials through environment variables or a credential manager, and fail safely if the user has not configured their own sender and recipient.

What this means

Users may believe they must configure the script before it can send email, when running the shipped file can already perform outbound email actions.

Why it was flagged

The instructions frame the email settings as user-supplied placeholders, but the included script already contains concrete account and recipient values, which can mislead users about the default behavior.

Skill content
Edit `send_lyrics.py`:

SMTP_EMAIL = "your_email@qq.com"
SMTP_PASSWORD = "your_auth_code"
TO_EMAIL = "recipient@email.com"
Recommendation

Make the documentation match the code, ship only placeholders or environment-variable lookups, and clearly disclose all required credentials and outbound recipients.

What this means

If installed, the script can run every night and send email automatically, including with any default values left in the file.

Why it was flagged

The skill asks the user to create a persistent daily cron job. Scheduled execution is central to the stated daily-reminder purpose, but it will continue running until removed.

Skill content
crontab -l | { cat; echo "0 23 * * * /path/to/send_lyrics.py >> /path/to/log.txt 2>&1"; } | crontab -
Recommendation

Only add the cron job after reviewing and configuring the script, and document how to remove or disable the scheduled task.

What this means

Installing unpinned global tools can change the local environment and depends on the integrity of the package being fetched at install time.

Why it was flagged

The setup uses a global, unpinned external browser automation package and installs browser dependencies. This is related to the stated Baidu Baike fetching behavior, but users should verify the package source and version.

Skill content
npm install -g agent-browser
agent-browser install --with-deps
Recommendation

Pin package versions where possible, install from trusted sources, and avoid global installation unless necessary.

What this means

The skill will launch browser automation commands on the user’s machine when the script runs.

Why it was flagged

The script executes local shell commands to control agent-browser and read page text. The commands are fixed and purpose-aligned, but this is still local command execution users should notice.

Skill content
result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
...
cmd = 'agent-browser eval "document.body.innerText"'
Recommendation

Keep command arguments fixed or safely quoted, avoid shell=True where practical, and run only after installing a trusted agent-browser binary.