安全决策报告

clawpi-redpacket-monitor

ClawPI红包自动领取工具存在多处文档-行为差异,读取钱包JWT凭证并自动发布庆祝动态未在SKILL.md中声明,硬编码绝对路径暴露目标用户环境

安装决策优先 来源: ClawHub 扫描时间: 4 小时前
文件 4
IOC 3
越权项 3
发现 5
最直接的威胁证据
高危 文档欺骗
未声明的JWT凭证读取

getJWT()方法从~/.fluxa-ai-wallet-mcp/config.json读取JWT token用于API认证,但SKILL.md中完全没有提及此行为。用户安装此技能即意味着授权读取其钱包配置文件中的敏感凭证

scripts/monitor.cjs:65

为什么得出这个结论

2/4 个维度触发
阻止
声明与实际能力

发现 3 项声明之外的能力或越权行为。

复核
隐藏执行与外联

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

阻止
攻击链与高危发现

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

通过
依赖与供应链卫生

依赖结构存在,但暂未看到明显高危告警。

风险分是怎么被拉高的

未声明的JWT凭证读取 +12

getJWT()读取~/.fluxa-ai-wallet-mcp/config.json获取JWT,但SKILL.md未提及

未声明的自动发布动态 +10

postCelebrationMoment()自动发布庆祝内容到用户账号,文档未声明

硬编码绝对路径 +8

statusFile硬编码为/Users/xufan65/.openclaw/workspace/memory/,暴露目标用户

外部命令依赖未声明 +5

依赖fluxa-wallet CLI和openclaw命令,但文档未提及

自动领取无用户确认 +3

autoClaim默认开启,领取行为不可逆

最关键的证据

高危 文档欺骗

未声明的JWT凭证读取

getJWT()方法从~/.fluxa-ai-wallet-mcp/config.json读取JWT token用于API认证,但SKILL.md中完全没有提及此行为。用户安装此技能即意味着授权读取其钱包配置文件中的敏感凭证

scripts/monitor.cjs:65
在SKILL.md的能力声明中明确列出'读取钱包配置文件获取认证凭证'
中危 文档欺骗

未声明的自动发布动态行为

postCelebrationMoment()方法会自动创建并发布庆祝动态到用户账号,内容为固定模板'哇!刚刚从XX那里抢到了XX USDC的红包...',此行为未在SKILL.md中声明

scripts/monitor.cjs:156
明确告知用户会自动发布动态,或提供opt-out选项
中危 敏感访问

硬编码的绝对路径暴露目标环境

statusFile路径硬编码为'/Users/xufan65/.openclaw/workspace/memory/clawpi-redpacket-status.json',包含明确的用户名'xufan65',暴露了目标用户环境信息

scripts/monitor.cjs:41
使用相对路径或环境变量,移除硬编码用户名
低危 供应链

外部CLI命令依赖未声明

脚本依赖fluxa-wallet和openclaw CLI工具,但package.json和SKILL.md均未声明这些依赖

scripts/monitor.cjs:107
在文档中添加依赖说明
低危 权限提升

无用户确认的自动操作

autoClaim默认为true,领取红包是不可逆的金融操作,没有用户确认步骤直接执行

scripts/monitor.cjs:44
添加用户确认机制或明确的风险提示

声明能力 vs 实际能力

文件系统 通过
声明 READ
推断 READ
scripts/monitor.cjs:34,41 读写状态文件
网络访问 阻止
声明 NONE
推断 WRITE
scripts/monitor.cjs:85,130,156 调用外部API进行读/写操作
命令执行 阻止
声明 NONE
推断 WRITE
scripts/monitor.cjs:87,107,178 使用execSync执行curl和CLI命令
环境变量 阻止
声明 NONE
推断 READ
scripts/monitor.cjs:65-73 读取fluxa钱包配置文件获取JWT

可疑产物与外联

中危 外部 URL
https://clawpi-v2.vercel.app/api/redpacket/available?n=20&offset=0

scripts/monitor.cjs:85

中危 外部 URL
https://clawpi-v2.vercel.app/api/redpacket/claim

scripts/monitor.cjs:130

中危 外部 URL
https://clawpi-v2.vercel.app/api/moments/create

scripts/monitor.cjs:156

依赖与供应链

包名版本来源漏洞备注
node (runtime) N/A system 依赖系统Node.js运行时
fluxa-wallet N/A external CLI 外部CLI工具,SKILL.md未声明依赖
openclaw N/A external CLI 外部CLI工具,用于Discord通知

文件构成

4 个文件 · 462 行
JavaScript 1 个文件 · 287 行Markdown 1 个文件 · 148 行JSON 2 个文件 · 27 行
需关注文件 · 1
scripts/monitor.cjs JavaScript · 287 行
未声明的JWT凭证读取 · 未声明的自动发布动态行为 · 硬编码的绝对路径暴露目标环境 · 外部CLI命令依赖未声明 · 无用户确认的自动操作 · https://clawpi-v2.vercel.app/api/redpacket/available?n=20&offset=0 · https://clawpi-v2.vercel.app/api/redpacket/claim · https://clawpi-v2.vercel.app/api/moments/create
其他文件 · SKILL.md · package.json · settings.json

安全亮点

功能实现与SKILL.md描述的核心监控-领取流程一致
状态持久化设计合理,避免重复领取
有基本的错误处理机制
使用Discord通知用户,保持透明度
无恶意代码特征(无base64、无反向shell、无凭证外传)