Logistics Tracker
Analysis
The skill fits its logistics purpose, but it can use shipping and email credentials, read order data, persist customer shipment details, and send real customer or Discord notifications automatically.
Findings (6)
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.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
客户邮件通知 — 发货 + 签收默认推送 ... 执行一次完整调度周期(查询 + 状态更新 + 通知 + 异常检测) node scripts/scheduler.js
The default scheduler path is live and includes notifications, so invoking it can send customer emails and update shipment state, not just read data.
const { execFileSync } = require('child_process'); ... const SMTP_SCRIPT = path.resolve(__dirname, '../../imap-smtp-email/scripts/smtp.js');The notifier uses a child process and a sibling SMTP skill script; this is related to the stated email function but increases the code path that can send messages.
Cron 调度建议 ... 每 6 小时执行一次完整调度周期 ... 0 */6 * * * cd /Users/wilson/.openclaw/workspace/skills/logistics-tracker && node scripts/scheduler.js
The artifacts suggest persistent cron execution, but it is presented as a user-directed setup step rather than hidden persistence.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
"api_key_env": "TRACK17_API_KEY", "headers": { "Content-Type": "application/json", "17token": "${TRACK17_API_KEY}" }The config expects a 17Track API credential, while the registry metadata declares no required env vars or primary credential.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
"alert_channels": { "primary": "discord", "secondary": "email", "email_recipient": "wilson" }, "no_update": "⚠️ 运单 {tracking_number}(客户 {customer_name})已 {days} 天无物流更新"Anomaly alerts can include tracking numbers and customer names and are routed to Discord/email, but the destination identity and credential boundary are not declared in metadata.
const NOTIFY_HISTORY_PATH = path.resolve(__dirname, '../data/notification-history.json'); ... Structure: { [trackingNumber]: { events: [ { eventId, eventType, sentAt, recipient } ] } }The skill persistently stores notification history tied to tracking numbers and recipients.
