Suspicious — Risk Score 55/100
Last scan:11 hr ago Rescan
55 /100
ekybot-connector
Bridge OpenClaw to Ekybot for remote agent control
Skill 声称「本地运行无远程代码执行」,但实际通过 execSync 修改 OpenClaw 配置、创建 workspace 文件、安装系统服务。SKILL.md 声称「不发送对话内容」,但 poll-ekybot.js 实际将消息内容 POST 到外部 API。存在文档-行为严重不符的阴影功能。
Skill Nameekybot-connector
Duration74.5s
Enginepi
Use with caution
该 Skill 具有超出声明的系统修改能力,包括配置文件写入、服务安装、CLI 执行。建议用户在使用前确认:1) 是否需要创建多 workspace;2) 是否接受消息内容外传;3) 建议限制 Skill 仅使用声明的功能子集。

Attack Chain 5 steps

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

Findings 6 items

Severity Finding Location
High
文档声明与实际能力严重不符 Doc Mismatch
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
High
声称不发送对话内容但实际外传 Doc Mismatch
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
Medium
硬编码 API Token 在源码中 Credential Theft
poll-ekybot.js 和 ekybot-agent-sync.js 中硬编码了 AGENT_TOKEN,可能导致凭证泄露风险。
AGENT_TOKEN: 'dd9fa892b8cd30b5eb6f425d0f55a347933c7a6cfa271268'
→ 将 Token 移到配置文件或环境变量,避免硬编码
scripts/poll-ekybot.js:14:14
Medium
未声明的系统服务安装 Priv Escalation
install-poller.sh 会创建 systemd service 或 LaunchAgent,属于高权限系统级修改,未在 SKILL.md 中声明。
sudo tee /etc/systemd/system/ekybot-poller.service
→ 在文档中明确声明需要安装系统服务,或改为用户手动安装
scripts/install-poller.sh:68-95:68
Medium
未声明的配置文件写入 Doc Mismatch
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
Low
收集系统指纹信息 Sensitive Access
send_telemetry.sh 收集 hostname、platform、CPU usage 等系统信息并上传。
"hostname": "$(hostname)"
→ 明确告知用户收集哪些系统信息
scripts/send_telemetry.sh:108-123:108
ResourceDeclaredInferredStatusEvidence
Filesystem NONE WRITE ✗ Violation scripts/ekybot-agent-sync.js:96 创建workspace目录
Shell NONE WRITE ✗ Violation scripts/ekybot-agent-sync.js:9 使用execSync执行openclaw CLI
Environment NONE READ ✗ Violation scripts/send_telemetry.sh:108 收集hostname/platform等系统信息
Network READ WRITE ✗ Violation scripts/poll-ekybot.js:157 将消息POST到Ekybot API
23 findings
🔗
Medium External URL 外部 URL
https://www.ekybot.com
SKILL.md:10
🔗
Medium External URL 外部 URL
https://www.ekybot.com/companion
SKILL.md:51
🔗
Medium External URL 外部 URL
https://nodejs.org
install.sh:29
🔗
Medium External URL 外部 URL
https://docs.openclaw.ai
install.sh:35
🔗
Medium External URL 外部 URL
https://clawhub.ai/regiomag/ekybot-connector
install.sh:139
🔗
Medium External URL 外部 URL
https://discord.com/invite/clawd
install.sh:140
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api
references/api.md:8
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/workspaces/register
references/api.md:246
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/workspaces/ws_123/health
references/api.md:257
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/workspaces/ws_123/telemetry
references/api.md:264
🔗
Medium External URL 外部 URL
https://my-gateway.example.com
references/api.md:452
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/channels
references/api.md:456
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/messages
references/api.md:466
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/workspaces/YOUR_ID/health
references/troubleshooting.md:273
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/workspaces/YOUR_ID/telemetry
references/troubleshooting.md:277
🔗
Medium External URL 外部 URL
http://www.apple.com/DTDs/PropertyList-1.0.dtd
scripts/install-poller.sh:122
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/agents
scripts/install-poller.sh:167
🔗
Medium External URL 外部 URL
http://127.0.0.1:18789
scripts/poll-ekybot.js:15
🔗
Medium External URL 外部 URL
https://gateway.ekybot.com
scripts/register_workspace.sh:71
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/workspaces/$WORKSPACE_ID/telemetry
scripts/send_telemetry.sh:105
🔗
Medium External URL 外部 URL
https://ekybot.com
scripts/setup_communication.sh:506
🔗
Medium External URL 外部 URL
https://www.ekybot.com/api/workspaces/$workspace_id/health
scripts/validate_setup.sh:50
📧
Info Email 邮箱地址
[email protected]
references/troubleshooting.md:41

File Tree

19 files · 110.1 KB · 3951 lines
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

Dependencies 4 items

PackageVersionSourceKnown VulnsNotes
node-fetch ^3.3.2 npm No 使用fetch而非XMLHttpRequest,符合现代安全实践
ws ^8.14.2 npm No WebSocket库
dotenv ^16.3.1 npm No 环境变量加载库
chalk ^4.1.2 npm No 终端颜色输出库

Security Positives

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