安全扫描
OpenClaw
可疑
medium confidence该技能的核心功能(扫描Polymarket公共API并生成报告)与其描述相符,但在安装或运行前需要谨慎,因为存在一些一致性问题(交付方式、操作系统和环境要求未声明)。
评估建议
安装或运行此技能前需检查的事项:
- 交付方式不匹配:SKILL.md声称通过Telegram和邮件发送,但send-report.js仅通过Apple Mail(osascript)发送邮件。如果您期望收到Telegram消息,代码并未实现——请检查并添加Telegram发送器,或确认OpenClaw会单独处理Telegram。
- 平台与运行时:代码需要Node.js v18+(原生fetch),并依赖macOS(osascript)发送邮件。技能元数据未声明操作系统或Node要求——仅在macOS机器上运行,或修改邮件发送方法。
- 环境变量:按文档创建.env文件配置SMTP_TO(收件人)。文档中提到TELEGRAM_CHAT_ID但脚本未使用;请确认是否需要在其他地方配置Telegram。不要将.env提交到版本控制。
- 安全/网络:扫描器仅调用Polymarket的公共Gamma API并写入本地opportunities.json。没有明显的外泄端点。邮件通过本地邮件应用(osascript)发送,运行在本地然后通过您配置的邮件账户发送。
- 注入风险:send-re...详细分析 ▾
⚠ 用途与能力
代码使用公共Gamma API实现了Polymarket扫描器,与声明的用途相符。然而,SKILL.md称报告通过Telegram(通过OpenClaw消息工具)和邮件发送,而附带的send-report.js仅通过Apple Mail/osascript发送邮件,未调用任何OpenClaw 'message'工具或其他Telegram API。该技能还需要Node.js v18+(使用原生fetch)和macOS运行osascript,但注册元数据未列出操作系统限制或所需二进制文件——这不一致。
ℹ 指令范围
运行时指令具体为:运行scanner.js获取事件,生成opportunities.json,然后运行send-report.js发送邮件。指令要求创建.env配置SMTP_TO并提到TELEGRAM_CHAT_ID,但send-report.js仅读取SMTP_TO而不使用TELEGRAM_CHAT_ID。扫描器仅读取Polymarket API并写入本地opportunities.json;send-report读取该文件并使用AppleScript发送邮件。没有代码读取无关系统文件或向Polymarket API之外的外部端点泄露秘密。
✓ 安装机制
没有安装规范;脚本是需要Node v18+的普通Node.js文件。SKILL.md建议运行'npm install'但代码仅使用内置的fetch和fs,没有外部包下载。技能本身不安装任何网络下载或归档。
⚠ 凭证需求
注册元数据未声明所需的环境变量,但references/setup.md和send-report.js期望可选的.env(SMTP_TO,可选的SMTP_FROM)。TELEGRAM_CHAT_ID在设置文档中有记录但未在代码中使用。技能依赖macOS发送邮件(osascript)但技能元数据未声明操作系统限制。声明要求与实际脚本之间的这种不匹配是一个比例/信息差距,可能会让用户感到意外。
✓ 持久化与权限
该技能不请求持久或提升的权限,不修改其他技能或系统范围的代理配置,且'always'为false。它作为本地Node脚本运行,仅在同一目录中写入opportunities.json。
⚠ scripts/send-report.js:41
检测到shell命令执行(child_process)。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/3/15
初始版本:扫描Polymarket的套利机会(超注/低注),生成排序报告,通过Telegram和邮件发送。包含完整的scanner.js和send-report.js脚本。
● 无害
安装命令 点击复制
官方npx clawhub@latest install polymarket-opportunities-scanning
镜像加速npx clawhub@latest install polymarket-opportunities-scanning --registry https://cn.clawhub-mirror.com
技能文档
扫描Polymarket的活动多结果市场,查找总和偏离1.0的套利机会。生成排序报告并发送到Telegram和邮件。
工作原理
在真正的互斥多结果市场中,所有YES价格应总和为1.0。
| 偏差 | 类型 | 策略 |
|---|---|---|
| 总和 > 1.0(超注) | 超注 | 购买所有NO结果 |
| 总和 < 1.0(低注) | 低注 | 购买所有YES结果 |
设置
- 将
scripts/scanner.js和scripts/send-report.js复制到您的项目目录 - 在同一目录创建
.env文件配置邮件(见references/setup.md) - 安装依赖:
npm install(无外部依赖——使用内置fetch和 Node.js) - 测试:
node scanner.js && node send-report.js
运行扫描
# 运行扫描器 → 保存 opportunities.json
node scanner.js# 发送报告(读取 opportunities.json → Telegram + 邮件)
node send-report.js
或在一个cron命令中运行两者:
node /path/to/send-report.js
(send-report.js 内部调用 scanner.js)
扫描参数(在 scanner.js 中可配置)
| 参数 | 默认值 | 描述 |
|---|---|---|
| minVolume | $10,000 | 跳过低流动性市场 |
| minThreshold | 3% | 最小值得行动的偏差 |
| maxThreshold | 50% | 高于此值 = 可能是假信号 |
| minPrice | 3% | 过滤接近零的结果 |
| maxPrice | 97% | 过滤接近确定的结果 |
报告格式
🎯 Polymarket Opportunities Report [时间戳]
找到 N 个机会(X 个 NegRisk)⭐ NegRisk 市场(最高质量)
[超注/低注] 事件标题
💰 利润:X% | 成交量:$Xk | 24h:$Xk
📐 总和:X%(偏差 +X%)
🎯 策略:购买所有NO / 购买所有YES
🔗 https://polymarket.com/event/...
X% 结果A
X% 结果B
...
📋 常规多结果市场
[相同格式]
交付方式
- Telegram: 通过 OpenClaw
message工具(渠道:telegram,发送到:<您的telegram_id>) - 邮件: 通过 Apple Mail + osascript(仅限 macOS)——在
.env中设置SMTP_TO
配置详情见 references/setup.md。
Cron 任务设置
推荐:每天当地时间 08:00。
{
"name": "Polymarket 早晨扫描",
"schedule": {
"kind": "cron",
"expr": "0 8 *",
"tz": "Europe/Stockholm"
},
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"message": "Run: exec → node /path/to/send-report.js\nWait for it to complete. If it fails, send a Telegram alert with the error.",
"timeoutSeconds": 0
},
"delivery": {
"mode": "none"
}
}
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制