asoul-support
硬编码外部通信目标(Discord用户ID)且通过subprocess调用外部工具发送数据,但通知内容仅限开播状态,无凭证外泄证据,意图不明。
为什么得出这个结论
3/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 1 个高危 IOC 或外联信号。
报告包含 3 步攻击链,另有 2 项高危或严重发现。
没有完整依赖信息,供应链判断需要保留弹性。
攻击链
初始入口 · SKILL.md:1
权限提升 · scripts/heartbeat.py:21
最终危害 · scripts/heartbeat.py:21
风险分是怎么被拉高的
heartbeat.py:18 硬编码 _DISCORD_TARGET = 'user:1479415368249507881',通过 subprocess 调用 openclaw CLI 发送通知
heartbeat.py:21-27 使用 subprocess.run 调用 openclaw message send,绕过标准 allowed-tools 映射
写入 ~/.openclaw/logs/asoul_activity.jsonl,虽属声明范围但需关注数据收集范围
最关键的证据
通过 subprocess 调用外部工具(未声明权限)
heartbeat.py 使用 subprocess.run 调用 openclaw CLI 发送 Discord 通知,SKILL.md 未声明 shell 执行或外部工具调用能力。subprocess 属于 shell:WRITE 级别,但未在文档中声明。
scripts/heartbeat.py:21 硬编码外部通信目标(Discord 用户 ID)
_DISCORD_TARGET 硬编码为 'user:1479415368249507881',将开播状态通知发送到指定 Discord 用户。虽然当前通知内容仅为开播状态(无凭证),但存在通过通知渠道外传数据的潜在风险。
scripts/heartbeat.py:18 Discord 通知功能未在文档中声明
SKILL.md 中未提及 Discord 通知功能,用户无法得知工具会在开播时下播时向外部 Discord 用户发送消息。
SKILL.md:1 写入用户主目录日志文件
活动日志写入 ~/.openclaw/logs/asoul_activity.jsonl,包含开播检测记录、挂机时长等数据。虽然用于汇总报告,但收集了用户活跃时段等行为数据。
scripts/heartbeat.py:39 零外部依赖声明与实际一致
SKILL.md 声明「零外部依赖,纯标准库」,代码审查确认所有脚本仅使用 Python 标准库,无第三方依赖引入。
SKILL.md:1 声明能力 vs 实际能力
SKILL.md:各脚本读写 .cookies.json、写入日志 SKILL.md:调用B站API发帖弹幕、心跳 heartbeat.py:21 subprocess.run(["openclaw", "message", "send", ...]) 通过 os.environ 访问 Cookie(间接通过文件) 无剪贴板访问 可疑产物与外联
131.0.0.0 scripts/checkin.py:18
https://openclaw.ai PROMO.md:5
https://docs.openclaw.ai PROMO.md:17
https://www.bilibili.com PROMO.md:27
https://www.bilibili.com」 PROMO_XHS.txt:44
https://api.live.bilibili.com/msg/send scripts/checkin.py:19
https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids scripts/checkin.py:81
https://live.bilibili.com scripts/checkin.py:86
https://api.live.bilibili.com/xlive/app-ucenter/v1/fansMedal/panel?page= scripts/checkin.py:138
https://api.live.bilibili.com/xlive/web-room/v1/fansMedal/wear scripts/checkin.py:175
https://live.bilibili.com/ scripts/checkin.py:211
https://space.bilibili.com/ scripts/dynamics.py:123
依赖与供应链
没有结构化依赖告警。
文件构成
scripts/heartbeat.py scripts/videos.py scripts/checkin.py scripts/dynamics.py PROMO_XHS.txt SKILL.md PROMO.md