可疑 — 风险评分 55/100
上次扫描:11 小时前 重新扫描
55 /100
ekybot-connector
Bridge OpenClaw to Ekybot for remote agent control
Skill 声称「本地运行无远程代码执行」,但实际通过 execSync 修改 OpenClaw 配置、创建 workspace 文件、安装系统服务。SKILL.md 声称「不发送对话内容」,但 poll-ekybot.js 实际将消息内容 POST 到外部 API。存在文档-行为严重不符的阴影功能。
技能名称ekybot-connector
分析耗时74.5s
引擎pi
谨慎使用
该 Skill 具有超出声明的系统修改能力,包括配置文件写入、服务安装、CLI 执行。建议用户在使用前确认:1) 是否需要创建多 workspace;2) 是否接受消息内容外传;3) 建议限制 Skill 仅使用声明的功能子集。

攻击链 5 步

入口 用户安装 ekybot-connector skill
SKILL.md:1
提权 execSync执行openclaw CLI命令修改配置
scripts/ekybot-agent-sync.js:99
提权 创建workspace目录和文件到~/.openclaw/
scripts/setup_communication.sh:133
提权 安装systemd/LaunchAgent系统服务实现持久化
scripts/install-poller.sh:68
影响 消息内容通过POST外传到Ekybot API
scripts/poll-ekybot.js:157

安全发现 6 项

严重性 安全发现 位置
高危
文档声明与实际能力严重不符 文档欺骗
SKILL.md声称「Runs locally on your machine — no remote code execution」,但代码中多处使用 execSync 执行 openclaw CLI 命令,包括 config set、gateway restart 等系统修改操作。
✅ Runs locally on your machine — no remote code execution
→ 更新文档明确声明需要 filesystem:WRITE 和 shell:WRITE 权限,或移除执行系统命令的代码路径
SKILL.md:104-108:104
高危
声称不发送对话内容但实际外传 文档欺骗
SKILL.md声称「What is never sent: Actual conversation content or prompts」,但 poll-ekybot.js 会将消息内容通过 forwardToGateway 函数转发到 Ekybot API。
const message = `📨 [Message de ${author}]\n${content}`;
→ 更新隐私声明或移除消息内容转发功能
scripts/poll-ekybot.js:95-98:95
中危
硬编码 API Token 在源码中 凭证窃取
poll-ekybot.js 和 ekybot-agent-sync.js 中硬编码了 AGENT_TOKEN,可能导致凭证泄露风险。
AGENT_TOKEN: 'dd9fa892b8cd30b5eb6f425d0f55a347933c7a6cfa271268'
→ 将 Token 移到配置文件或环境变量,避免硬编码
scripts/poll-ekybot.js:14:14
中危
未声明的系统服务安装 权限提升
install-poller.sh 会创建 systemd service 或 LaunchAgent,属于高权限系统级修改,未在 SKILL.md 中声明。
sudo tee /etc/systemd/system/ekybot-poller.service
→ 在文档中明确声明需要安装系统服务,或改为用户手动安装
scripts/install-poller.sh:68-95:68
中危
未声明的配置文件写入 文档欺骗
setup_communication.sh 会创建 SOUL.md、AGENTS.md、INTER-AGENT-PROTOCOL.md 等文件,并修改 ~/.openclaw/openclaw.json,未在声明中提及。
cat > "$workspace_path/SOUL.md" << EOF
→ 在文档中声明会创建和修改的配置文件列表
scripts/setup_communication.sh:133-210:133
低危
收集系统指纹信息 敏感访问
send_telemetry.sh 收集 hostname、platform、CPU usage 等系统信息并上传。
"hostname": "$(hostname)"
→ 明确告知用户收集哪些系统信息
scripts/send_telemetry.sh:108-123:108
资源类型声明权限推断权限状态证据
文件系统 NONE WRITE ✗ 越权 scripts/ekybot-agent-sync.js:96 创建workspace目录
命令执行 NONE WRITE ✗ 越权 scripts/ekybot-agent-sync.js:9 使用execSync执行openclaw CLI
环境变量 NONE READ ✗ 越权 scripts/send_telemetry.sh:108 收集hostname/platform等系统信息
网络访问 READ WRITE ✗ 越权 scripts/poll-ekybot.js:157 将消息POST到Ekybot API
23 项发现
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com
SKILL.md:10
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/companion
SKILL.md:51
🔗
中危 外部 URL 外部 URL
https://nodejs.org
install.sh:29
🔗
中危 外部 URL 外部 URL
https://docs.openclaw.ai
install.sh:35
🔗
中危 外部 URL 外部 URL
https://clawhub.ai/regiomag/ekybot-connector
install.sh:139
🔗
中危 外部 URL 外部 URL
https://discord.com/invite/clawd
install.sh:140
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api
references/api.md:8
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/workspaces/register
references/api.md:246
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/workspaces/ws_123/health
references/api.md:257
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/workspaces/ws_123/telemetry
references/api.md:264
🔗
中危 外部 URL 外部 URL
https://my-gateway.example.com
references/api.md:452
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/channels
references/api.md:456
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/messages
references/api.md:466
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/workspaces/YOUR_ID/health
references/troubleshooting.md:273
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/workspaces/YOUR_ID/telemetry
references/troubleshooting.md:277
🔗
中危 外部 URL 外部 URL
http://www.apple.com/DTDs/PropertyList-1.0.dtd
scripts/install-poller.sh:122
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/agents
scripts/install-poller.sh:167
🔗
中危 外部 URL 外部 URL
http://127.0.0.1:18789
scripts/poll-ekybot.js:15
🔗
中危 外部 URL 外部 URL
https://gateway.ekybot.com
scripts/register_workspace.sh:71
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/workspaces/$WORKSPACE_ID/telemetry
scripts/send_telemetry.sh:105
🔗
中危 外部 URL 外部 URL
https://ekybot.com
scripts/setup_communication.sh:506
🔗
中危 外部 URL 外部 URL
https://www.ekybot.com/api/workspaces/$workspace_id/health
scripts/validate_setup.sh:50
📧
提示 邮箱 邮箱地址
[email protected]
references/troubleshooting.md:41

目录结构

19 文件 · 110.1 KB · 3951 行
Shell 9f · 2013L Markdown 5f · 1366L JavaScript 2f · 498L JSON 3f · 74L
├─ 📁 references
│ ├─ 📝 api.md Markdown 475L · 10.6 KB
│ ├─ 📝 security.md Markdown 121L · 2.8 KB
│ └─ 📝 troubleshooting.md Markdown 350L · 8.6 KB
├─ 📁 scripts
│ ├─ 📜 ekybot-agent-sync.js JavaScript 206L · 6.3 KB
│ ├─ 🔧 health_check.sh Shell 153L · 5.2 KB
│ ├─ 🔧 install-poller.sh Shell 166L · 4.8 KB
│ ├─ 📜 poll-ekybot.js JavaScript 292L · 9.2 KB
│ ├─ 🔧 register_workspace.sh Shell 142L · 3.8 KB
│ ├─ 🔧 send_telemetry.sh Shell 258L · 7.9 KB
│ ├─ 🔧 setup_communication.sh Shell 515L · 16.0 KB
│ ├─ 🔧 setup-agent-sync.sh Shell 99L · 2.8 KB
│ ├─ 🔧 start_telemetry.sh Shell 257L · 6.2 KB
│ └─ 🔧 validate_setup.sh Shell 282L · 8.2 KB
├─ 📁 templates
│ ├─ 📋 config-template.json JSON 26L · 971 B
│ └─ 📝 INTER-AGENT-PROTOCOL.md Markdown 238L · 5.8 KB
├─ 📋 _meta.json JSON 16L · 598 B
├─ 🔧 install.sh Shell 141L · 3.9 KB
├─ 📋 package.json JSON 32L · 834 B
└─ 📝 SKILL.md Markdown 182L · 5.5 KB

依赖分析 4 项

包名版本来源已知漏洞备注
node-fetch ^3.3.2 npm 使用fetch而非XMLHttpRequest,符合现代安全实践
ws ^8.14.2 npm WebSocket库
dotenv ^16.3.1 npm 环境变量加载库
chalk ^4.1.2 npm 终端颜色输出库

安全亮点

✓ 代码结构清晰,主要功能是合法的代理-云端通信桥接
✓ 使用 HTTPS 进行网络通信
✓ 配置文件使用 chmod 600 保护 API key
✓ 有健康检查和验证脚本
✓ 支持卸载功能