单向历

Security checks across malware telemetry and agentic risk

Overview

The skill mostly matches its stated purpose, but its send script builds a shell command from editable configuration values, which creates a command-injection risk.

Review this skill before installing. Its purpose is straightforward, but the current implementation should be hardened before routine or scheduled use because crafted config values could turn the Feishu send command into unintended shell execution.

VirusTotal

66/66 vendors flagged this skill as clean.

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.

#
ASI05: Unexpected Code Execution
High
What this means

If the local config is edited maliciously or a user pastes a crafted value, running the skill or its cron job could execute unintended commands on the user's machine.

Why it was flagged

The shell command is assembled by string interpolation from config-derived userId and baseUrl/imageUrl values. userId is only checked with startsWith('ou_') and baseUrl is not shell-escaped, so a malformed or poisoned config value could inject shell syntax when the script runs.

Skill content
const userId = config.feishu?.userId;
const baseUrl = config.settings?.baseUrl || 'https://img.owspace.com/Public/uploads/Download';
...
const cmd = `openclaw message send --channel=feishu --target=${userId} --media="${imageUrl}"`;
execSync(cmd, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
Recommendation

Replace execSync shell strings with execFile/spawn using an argument array, strictly validate Feishu IDs with an allowlist regex, and validate or escape the image URL before passing it to any command.

#
ASI03: Identity and Privilege Abuse
Low
What this means

Installing and using the skill gives it the ability to send Feishu messages through the configured OpenClaw/Feishu integration.

Why it was flagged

The skill uses OpenClaw's Feishu messaging channel to send media to the configured user ID. This is central to the skill's stated purpose and no credential theft or unrelated account access is shown.

Skill content
openclaw message send --channel=feishu --target=${userId} --media="${imageUrl}"
Recommendation

Use it only with the intended Feishu target ID and review any scheduled jobs so messages are sent only when expected.

#
ASI10: Rogue Agents
Low
What this means

If enabled, the skill will keep running every morning and sending the calendar image automatically.

Why it was flagged

The skill documents an optional daily cron task. This is disclosed and user-directed, but it creates persistence that continues sending daily messages until removed.

Skill content
openclaw cron add \
  --name "每日单向历" \
  --at "0 8 * * *" \
  --session isolated \
  --message "node ~/.openclaw/workspace/skills/one-calendar/scripts/send.js"
Recommendation

Only add the cron job if you want recurring messages, and remove the cron entry when you no longer need the automation.

#
ASI04: Agentic Supply Chain Vulnerabilities
Info
What this means

The skill may fail or behave differently if Node or the OpenClaw CLI is unavailable or not on PATH.

Why it was flagged

The registry metadata does not declare runtime binaries, while the provided docs and scripts rely on Node and the openclaw CLI. This appears to be an under-declared setup requirement rather than malicious behavior.

Skill content
Required binaries (all must exist): none
...
Install specifications
No install spec — this is an instruction-only skill.
Recommendation

Declare required binaries and runtime assumptions in metadata or installation instructions so users can verify the environment before running it.