Skill Trust Decision

tkseller

TKSeller 技能收集设备指纹(BIOS UUID + MAC地址)并发送至硬编码 IP(54.160.24.241),凭证传输路径存在风险,但整体功能与电商带货业务相关,意图待明确。

Install decision first Source: ClawHub Scanned: 15 days ago
Files 18
Artifacts 18
Violations 4
Findings 6
Most direct threat evidence

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

4 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

1 high-risk artifacts or egress signals were extracted.

Pass
Attack chain and severe findings

There is no explicit malicious chain in the report.

Pass
Dependencies and supply chain hygiene

Dependencies are present but no obvious high-risk issue stands out.

What drove the risk score up

设备指纹收集 +15

收集 BIOS UUID + MAC 地址生成 device_id,用于登录请求

凭证外传 +10

用户名密码以明文 POST 到外部 IP,敏感凭证离开本地环境

硬编码 IP +10

后端地址 54.160.24.241:8771 为裸 IP,无法验证证书或域名归属

读取 OpenClaw 配置 +5

访问 ~/.openclaw/openclaw.json 获取 gateway token 和 Discord token

系统命令执行 +5

使用 execSync 执行 wmic/cat 命令读取 BIOS UUID

Most important evidence

Medium Credential Theft

凭证以明文发送至外部服务器

用户登录时,用户名和密码以明文 JSON 格式 POST 到 54.160.24.241:8771/api/v1/auth/login。虽然是 HTTPS 传输,但凭证离开了用户本地环境。

lib-js/api.mjs:136
考虑使用 token-based 认证替代明文密码传输,或确保后端完全可信
Medium Sensitive Access

设备指纹收集(BIOS UUID + MAC 地址)

getDeviceId() 函数收集系统 BIOS UUID(非 Windows 使用 /sys/class/dmi/id/product_uuid)和所有非内部网卡的 MAC 地址,生成 device_id 用于登录请求。这可能用于跨实例追踪。

lib-js/api.mjs:80
明确告知用户此数据收集的目的和范围,或使用不涉及硬件信息的设备标识方案
Medium Supply Chain

硬编码外部 IP 地址

config.json 中 data_service.base_url 硬编码为 http://54.160.24.241:8771,无法验证服务器身份(无域名、证书锚定)。如 DNS 被劫持可导向恶意服务器。

config.json:4
1. 使用域名替代裸 IP;2. 实现证书校验;3. 添加 SSH fingerprint 或 pin
Low Sensitive Access

读取 OpenClaw 配置文件

card-tools.mjs 和 trigger.mjs 读取 ~/.openclaw/openclaw.json 获取 gateway auth token 和各渠道(Discord/飞书等)的 bot token。这些凭证用于调用本地 gateway 和注册 Discord 命令。

lib-js/card-tools.mjs:41
确认这些凭证仅用于本地 gateway 通信,不会上传至外部 data-service
Low Sensitive Access

本地文件写入操作

技能在 data/ 目录下创建并写入多个文件:token.json(认证令牌)、card_map.json、processed_events.json、poll_state.json,以及 Python 临时脚本。

lib-js/api.mjs:65
验证 data/ 目录权限设置,避免其他用户读取敏感状态数据
Info Doc Mismatch

SKILL.md 编码异常

SKILL.md 文件存在大量乱码(UTF-8 编码的中文显示为 �/� 等字符),但实际功能逻辑可通过代码审查还原。文档完整性受损,无法有效声明功能范围。

SKILL.md:1
修复文档编码,确保声明与实际行为一致

Declared capability vs actual capability

Network Block
Declared NONE
Inferred WRITE
所有 API 请求(认证/推荐/事件)均发往外部 IP 54.160.24.241
Environment Block
Declared NONE
Inferred READ
api.mjs:96 读取 HTTPS_PROXY/HTTP_PROXY;card-tools.mjs 读取完整 openclaw.json
Filesystem Block
Declared NONE
Inferred WRITE
存储 token.json、设备指纹到本地 data/ 目录
Shell Block
Declared NONE
Inferred READ
api.mjs:80-109 通过 execSync 执行系统命令读取 BIOS UUID

Suspicious artifacts and egress

High IP Address
54.160.24.241

config.json:4

Medium External URL
https://tiktok.com/@x/video/123

README.md:24

Medium External URL
http://127.0.0.1:18789/tools/invoke

README.md:394

Medium External URL
http://127.0.0.1:18789

README.md:570

Medium External URL
https://tiktok.com/...

README.md:601

Medium External URL
https://tiktok.com/@creator/video/123

README.md:610

Medium External URL
https://shop.tiktok.com/product/456

README.md:615

Medium External URL
http://54.160.24.241:8771

config.json:4

Medium External URL
https://discord.com/api/v10/applications/@me

lib-js/register-discord.mjs:73

Medium External URL
https://discord.com/api/v10/users/@me/guilds

lib-js/register-discord.mjs:86

Medium External URL
https://discord.com/api/v10/applications/$

lib-js/register-discord.mjs:103

Medium External URL
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal

lib-js/register-feishu.mjs:20

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
Pillow 未声明 pip (本地调用) No 用于 webchat 图片压缩,功能合法

File composition

18 files · 4827 lines
JavaScript 12 files · 3349 linesMarkdown 4 files · 1462 linesJSON 2 files · 16 lines
Files of concern · 7
config.json JSON · 11 lines
硬编码外部 IP 地址 · 54.160.24.241 · http://54.160.24.241:8771
lib-js/card-tools.mjs JavaScript · 1086 lines
读取 OpenClaw 配置文件
README.md Markdown · 664 lines
https://tiktok.com/@x/video/123 · http://127.0.0.1:18789/tools/invoke · http://127.0.0.1:18789 · https://tiktok.com/... · https://tiktok.com/@creator/video/123 · https://shop.tiktok.com/product/456
SKILL.md Markdown · 664 lines
SKILL.md 编码异常
lib-js/trigger.mjs JavaScript · 576 lines
https://docs.openclaw.ai/channels/discord\n\n
lib-js/api.mjs JavaScript · 266 lines
凭证以明文发送至外部服务器 · 设备指纹收集(BIOS UUID + MAC 地址) · 本地文件写入操作
lib-js/register-discord.mjs JavaScript · 138 lines
https://discord.com/api/v10/applications/@me · https://discord.com/api/v10/users/@me/guilds · https://discord.com/api/v10/applications/$
Other files · handle-button.mjs · poll-loop.mjs · poll-events.mjs · send-persona-card.mjs · SOUL.md

Security positives

代码结构清晰,模块化设计良好
使用本地 token 缓存避免重复登录
包含进程锁机制防止多实例冲突
实现了事件去重和状态持久化
支持多渠道(Discord/飞书/webchat)
有错误处理和超时机制
Python 图片压缩使用 Pillow(正规库)
无明显混淆或隐藏的恶意代码