Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

科技新闻每日推送

v5.9.1

每天11点自动抓取LightReading和TechCrunch最新科技新闻,AI翻译摘要后推送到企业微信,保证双站点内容覆盖。

0· 58·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for sophieliiiiii/lightreading-daily.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "科技新闻每日推送" (sophieliiiiii/lightreading-daily) from ClawHub.
Skill page: https://clawhub.ai/sophieliiiiii/lightreading-daily
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install lightreading-daily

ClawHub CLI

Package manager switcher

npx clawhub@latest install lightreading-daily
Security Scan
Capability signals
CryptoCan make purchases
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
技能声明抓取 LightReading 与 TechCrunch、用 AI 生成中文要点并推送到企业微信;包含的脚本(push_combined.py / push_wechat.py / push_chinese.py / push_only.py 等)与文档一致。使用 cloudscraper 绕过 Cloudflare 与网页抓取目的相符. 不过 registry metadata 声明没有需要的环境变量或凭据,而代码中却硬编码了企业微信 Webhook(多处出现),这不一致且不安全。
!
Instruction Scope
SKILL.md 明确要求抓取、生成文件、AI 翻译(通过 agent 本身完成)并将最终文本发送到企业微信 webhook;这些都是合理的。但运行说明和脚本还包含:启动一个 HTTP 服务接收邮件(email_webhook.py,绑定所有接口并保存到磁盘),以及写入/删除自动生成文件和推送历史。SKILL.md 没有将 webhook 值申报为必需凭据(应由用户配置),而脚本直接将生产/发送目标写死在代码中。
Install Mechanism
无安装 spec(指令型/纯脚本包)。依赖仅为 cloudscraper(列在 requirements.txt)——与跨 Cloudflare 抓取目的匹配且安装方式常见。没有远程下载或可疑安装来源。
!
Credentials
registry 显示无需环境变量或凭据,但多个脚本中硬编码了企业微信 WEBHOOK_URL(带具体 key),这 both (1) leakes the publisher's webhook and (2) prevents users from cleanly supplying their own credential via env var. AI 翻译被设计为在 agent 端完成,不需外部 API keys — 这是可解释的,但作者 should have declared the webhook or required env var instead of hardcoding. 无其它敏感凭据请求。
Persistence & Privilege
技能不是 always: true,允许用户主动调用/定时调用(cron)。脚本会写入 files (today_*.txt, combined_*.txt, pushed_history.json, 保存 emails 目录),这是正常持久化行为 for this use case. 需要注意 email_webhook.py 开启的 HTTP 服务监听整个主机接口(TCPServer('', PORT)),这增加了暴露面,应仅绑定本地或放在受控网络/反向代理后面。
Scan Findings in Context
[HARDCODED_WEBHOOK_URL] unexpected: 多个脚本(push_chinese.py, push_combined.py, push_only.py, push_wechat.py)硬编码了企业微信 webhook URL 和 key. 该技能确实需要一个 webhook,但安全做法是把此类密钥设为环境变量或配置项并在 SKILL.md 明确说明;硬编码不应被视为正常。
[CLOUDSCRAPER_USAGE] expected: 使用 cloudscraper 来绕过 Cloudflare 是抓取 LightReading/TechCrunch 的合理工具(SKILL.md 也写明需要)。这本身不是恶意,但也说明技能在做主动反爬取行为,应评估服务条款合规性。
[TLS_VERIFY_DISABLED] unexpected: push_wechat.py 创建了 ssl_context 并将 verify_mode 设置为 ssl.CERT_NONE(禁用证书验证)。这降低了网络安全性(中间人攻击风险)且与正常抓取/推送操作不必要。
[LISTEN_ALL_INTERFACES_WEBHOOK] expected: email_webhook.py 启动 HTTP 服务监听 PORT=5087 并使用 TCPServer('', PORT),它确实需要监听以接收企业微信邮箱转发;但绑定所有接口会增加暴露面。绑定 localhost 或放在受控反向代理后更安全。
What to consider before installing
主要问题和建议: 1) 不要直接使用此包中的代码在生产环境运行,直到你修复硬编码的 webhook。把 WEBHOOK_URL 改为由环境变量或外部配置传入,并在 SKILL.md 中明确要求用户设置它(示例:WECHAT_WEBHOOK_URL)。 2) 删除/替换仓库中已经嵌入的 webhook key(当前 key 会将你的推送发送到作者的机器人,可能导致数据泄露或被滥用)。若不想泄露你内容,请务必替换为你自己的 key。测试前确认 webhook 目标是你的企业微信机器人。 3) 修复 TLS 验证:不要禁用证书验证(ssl.CERT_NONE)。如果编程需要自定义 SSL,上游应验证证书或让用户决定;一般应使用系统默认验证。 4) 限制邮件 webhook 暴露:如果你打算使用 email_webhook.py,只让它监听 localhost 或放在受控网络/反向代理后面;否则会在公网暴露端口 5087。 5) 法律与礼貌:使用 cloudscraper 绕过 Cloudflare 可能违反目标站点的服务条款。确保你的抓取频率和行为遵守目标站点政策和版权要求。 6) 代码质量检查:有些脚本片段(push_combined.py 在提供的内容中被截断并含有潜在语法错误)需要完整审查/测试。先在隔离环境或沙箱中运行,并逐步验证输出(检查生成的 today_*/combined_* 文件)。 7) 最后,备份并审计所有生成的文件(combined_cn.txt、pushed_history.json、emails/),并在投入生产前确保你理解何时、向何处发送数据。

Like a lobster shell, security has layers — review code before you run it.

latestvk97cx1r0j922jzr9hc8wapnfxh84xe0c
58downloads
0stars
1versions
Updated 1w ago
v5.9.1
MIT-0

科技新闻每日推送技能 v5.9.1

自动抓取 LightReading 和 TechCrunch 科技新闻网站文章,AI 翻译生成中文摘要并自动推送到企业微信。

技能描述

每天上午 11 点自动抓取 LightReading(电信网络)和 TechCrunch(科技创业)最新新闻,智能选择文章(确保两个网站都有代表),提取文章要点,由 AI 翻译成中文后推送到企业微信。全流程自动化,无需手动修改代码。

功能特点

  • 多网站支持: LightReading(电信)+ TechCrunch(科技创业)
  • Cloudflare 绕过: 使用 cloudscraper 库绕过网站反爬虫保护
  • 智能抓取: 从网页全文提取 20-30 段有效内容
  • 智能筛选: 优先 Iain Morris 文章,确保两个网站都有代表
  • AI 翻译: 由 AI 助手直接翻译英文内容,无需外部翻译 API
  • 定时推送: 每天上午 11 点自动推送到企业微信
  • 纯中文推送: 只推送中文翻译版,不推送英文原文
  • 全自动化: 内容从文件动态读取,每天自动更新,无需修改代码
  • 双网站保证: 每次推送至少包含 LightReading 和 TechCrunch 各 1 篇

推送格式

合并推送(默认)

  • 重点推荐(1 篇):优先 Iain Morris 文章(LightReading),4 个要点
  • 其他精选(3 篇):
    • 至少 1 篇 TechCrunch ✅
    • 至少 1 篇 LightReading ✅
    • 每篇 4 个要点

单独推送(可选)

  • LightReading:1 篇重点推荐 + 3 篇其他精选
  • TechCrunch:3 篇精选文章

使用方法

1. 安装依赖

pip install cloudscraper

2. 配置企业微信 Webhook

编辑推送脚本文件:

WEBHOOK_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY_HERE"

3. 手动测试推送

cd skills/tech-news-daily

# 合并推送(推荐):LightReading + TechCrunch
python push_combined.py

# 单独推送(备用)
python push_wechat.py  # 仅 LightReading

4. 定时任务

Cron 任务配置:

  • 任务名称: 科技新闻每日推送 (Skill)
  • 任务 ID: 260be0fa-ab1b-4c73-a2fe-bed9e722cc7d
  • 执行时间: 每天上午 11:00(Asia/Shanghai 时区)
  • 任务流程: 自动完成抓取 → 翻译 → 推送

文件结构

tech-news-daily/
├── SKILL.md                  # 技能说明文档
├── README.md                 # 使用说明
├── push_combined.py          # 合并推送(LightReading + TechCrunch)✅ 主脚本
├── push_wechat.py            # LightReading 单独推送(备用)
├── push_chinese.py           # 读取 today_cn.txt 推送(备用)
├── ai_translate.py           # AI 翻译助手
├── parse_email.py            # 邮件内容解析(备用)
├── email_webhook.py          # 邮件 Webhook 服务器(备用)
├── requirements.txt          # Python 依赖
├── combined_en.txt           # 合并推送英文(每天自动生成)
├── combined_cn.txt           # 合并推送中文(每天自动生成)
├── today_en.txt              # LightReading 英文(每天自动生成)
├── today_cn.txt              # LightReading 中文(每天自动生成)
├── techcrunch_en.txt         # TechCrunch 英文(每天自动生成)
├── techcrunch_cn.txt         # TechCrunch 中文(每天自动生成)
└── pushed_history.json       # 推送历史记录(自动生成)

依赖要求

  • Python 3.8+
  • cloudscraper>=1.2.71 - 绕过 Cloudflare 反爬虫

技术实现

  1. cloudscraper 绕过 Cloudflare 保护
  2. RSS Feed 获取最新文章列表
  3. 网页全文抓取 根据 URL 抓取完整文章内容(多种方式)
  4. 正则提取 网页段落内容(200-5000 字符)
  5. 智能过滤 排除广告、footer、无关内容
  6. AI 总结 由 AI 助手阅读英文全文后总结成中文要点(不是翻译)
  7. 文件存储 英文和中文分别保存到文件,动态读取
  8. 去重逻辑 避免重复推送相同文章
  9. 智能选择 重点推荐优先 Iain Morris 文章
  10. 内容验证 英文内容不足 200 字符时自动更换文章
  11. RSS 补充 网页内容不足时自动使用 RSS 描述补充
  12. 标准化验证 推送前检查清单(作者、时间、来源、要点)
  13. 自动化抓取 自动获取作者信息,不凭印象编写
  14. 作者提取 多种正则表达式(JSON-LD、Meta、Author class、By 开头),过滤无效信息

v4.0 多网站支持

  • ✅ 新增 TechCrunch 网站支持
  • ✅ LightReading + TechCrunch 双源推送
  • ✅ 统一的推送格式和 Webhook 配置
  • ✅ 内容从文件动态读取(today_cn.txt)
  • ✅ 移除硬编码中文内容
  • ✅ 每天自动更新,无需修改代码

自动化流程(v5.3)

每天上午 11 点自动触发 Cron 任务(10 分钟超时)
       ↓
┌──────────────────────────┐
│ 【第 1 步】运行脚本        │
│ - 抓取 LightReading RSS   │
│ - 抓取 TechCrunch RSS     │
│ - 抓取网页全文            │
│ - ✅ 验证内容 ≥ 200 字符   │
│ - ✅ 不足则自动更换文章   │
│ - 确保所有文章都有充足内容│
│ - 保存英文文件            │
└──────────────────────────┘
       ↓
┌──────────────────────────┐
│ 【第 2 步】AI 总结          │
│ - 读取 combined_en.txt    │
│ - 阅读英文全文,理解内容  │
│ - 总结成 2-4 个中文要点    │
│ - 不是翻译,是总结        │
│ - 更新 combined_cn.txt    │
└──────────────────────────┘
       ↓
┌──────────────────────────┐
│ 【第 3 步】推送            │
│ - ✅ 检查占位符           │
│ - 有占位符 → 跳过         │
│ - 无占位符 → 推送         │
└──────────────────────────┘

注意事项

  1. LightReading 和 TechCrunch 都有 Cloudflare 保护,必须使用 cloudscraper
  2. 企业微信 Webhook 需要预先在企业微信中配置机器人
  3. 推送时间为 Asia/Shanghai 时区
  4. 每天上午 11 点检查并推送
  5. 如果网页抓取失败,会自动重试(最多 3 次,每次间隔 5 秒)
  6. 超时时间设置为 60 秒,适应慢速网络
  7. AI 翻译模式无需任何 API 密钥配置
  8. AI 翻译模式无需任何 API 密钥配置
  9. combined_en.txttoday_en.txttechcrunch_en.txt 自动更新
  10. AI 翻译后分别保存到 combined_cn.txttoday_cn.txttechcrunch_cn.txt

版本历史

  • v5.9.1 (2026-04-15): 推送流程修复

    • ✅ 修复脚本逻辑:没有中文文件时不推送,等待 AI 翻译
    • ✅ 确保完整流程:抓取 → 保存英文 → AI 翻译 → 推送
    • ✅ 移除快速推送模式,保证推送质量
    • ✅ 定时任务配置更新,支持完整自动化流程
  • v5.9 (2026-04-11): 作者抓取改进

    • ✅ 多种正则表达式提取作者(JSON-LD、Meta、Author class、By 开头)
    • ✅ 过滤无效作者信息(邮箱、超长字符串)
    • ✅ TechCrunch 作者抓取修复
    • ✅ LightReading 作者抓取修复
    • ✅ 确保作者信息准确可靠
  • v5.8 (2026-04-11): 中英文同步修复

    • ✅ 保存英文后自动删除旧中文文件
    • ✅ 强制 AI 重新翻译最新内容
    • ✅ 推送前检查中文文件时间戳
    • ✅ 确保中英文实时同步
  • v5.7 (2026-04-11): 作者抓取修复

    • ✅ TechCrunch RSS 命名空间修复
    • ✅ LightReading 网页作者提取
    • ✅ 作者信息自动更新到文章数据
    • ✅ 确保推送内容作者准确
  • v5.6 (2026-04-11): 标准化验证流程

    • ✅ 推送前检查清单(作者、时间、来源、要点)
    • ✅ 自动化抓取作者信息
    • ✅ 要点逐句对照原文验证
    • ✅ 不编造原文没有的信息
    • ✅ 推送前预览供人工验证
  • v5.5 (2026-04-11): 改进全文抓取

    • ✅ 降低抓取阈值(30→20 字符)
    • ✅ 多种方式抓取(段落+article+div)
    • ✅ RSS 描述自动补充网页内容不足
    • ✅ 增加长度限制(3000→5000 字符)
    • ✅ 去重处理,移除重复句子
  • v5.4 (2026-04-11): 确保 4 篇文章

    • ✅ 必须总结全部 4 篇文章(1 篇重点 + 3 篇其他)
    • ✅ 不能遗漏其他精选
    • ✅ 内容不足时从 RSS 描述补充
  • v5.3 (2026-04-11): 内容不足更换文章

    • ✅ 英文内容不足 200 字符时,自动更换新文章
    • ✅ 不再说明"信息有限"
    • ✅ 确保推送的文章都有充足内容
  • v5.2 (2026-04-11): AI 总结(非翻译)

    • ✅ AI 阅读英文全文后总结成中文要点
    • ✅ 不是逐句翻译,是理解后总结
    • ✅ 总结 2-4 个要点,每点 2-3 句话
    • ✅ 基于英文内容,不编造信息
  • v5.1 (2026-04-11): 三大要求

    • ✅ 有占位符不推送
    • ✅ 内容少于 3 点重新选文章
    • ✅ 从英文直接总结中文要点
    • ✅ 不编造信息
  • v5.0 (2026-04-11): AI 翻译规范

    • ✅ AI 翻译严格基于英文原文
    • ✅ 不编造原文没有的信息
    • ✅ 有几点翻译几点,不强求 4 个要点
    • ✅ 内容不足时说明"信息有限"
  • v4.9 (2026-04-11): 测试验证

    • ✅ 完整流程测试通过(抓取 → 翻译 → 推送)
    • ✅ 网络故障时使用现有英文文件
    • ✅ 确保推送不中断
    • ✅ Cron 任务配置验证
  • v4.8 (2026-04-11): Cron 明确指令

    • ✅ Cron 任务包含明确的三步指令
    • ✅ AI 在同一个 agentTurn 中完成抓取 + 翻译 + 推送
    • ✅ 不再依赖脚本内调用 AI
    • ✅ 确保每次执行都翻译最新英文
  • v4.7 (2026-04-11): 完整自动化

    • ✅ Cron 任务完整执行(抓取 → AI 翻译 → 推送)
    • ✅ AI 自动翻译最新英文,无需人工干预
    • ✅ 中英文实时同步,不再忘记翻译
    • ✅ 超时时间延长到 10 分钟
  • v4.6 (2026-04-11): Cron 自动翻译

    • ✅ Cron 任务包含完整流程(抓取 → 翻译 → 推送)
    • ✅ AI 每次自动翻译最新英文内容
    • ✅ 不再依赖人工干预
    • ✅ 确保中英文实时同步
  • v4.5 (2026-04-11): 全文抓取 + 智能选择

    • ✅ 自动抓取网页全文(非仅 RSS 描述)
    • ✅ AI 根据全文翻译中文要点
    • ✅ 重点推荐优先 Iain Morris 文章
    • ✅ 无 Iain Morris 时显示提示
  • v4.4 (2026-04-11): 三文件生成

    • ✅ 生成 combined_en.txt(合并英文)
    • ✅ 生成 today_en.txt(LightReading 单独英文)
    • ✅ 生成 techcrunch_en.txt(TechCrunch 单独英文)
    • ✅ AI 可分别翻译三个文件
  • v4.3 (2026-04-11): 推送验证

    • ✅ 检查中文翻译是否完成(无占位符)
    • ✅ 翻译未完成时跳过推送
    • ✅ 避免推送带 [AI 翻译] 或 [待翻译] 的内容
  • v4.2 (2026-04-11): 双网站保证

    • ✅ 确保每次推送至少包含两个网站各 1 篇
    • ✅ 其他精选:至少 1 篇 TechCrunch + 1 篇 LightReading
    • ✅ 智能选择逻辑优化
  • v4.1 (2026-04-11): 合并推送

    • ✅ 新增 push_combined.py 合并推送脚本
    • ✅ 重点推荐优先选择 Iain Morris 文章
    • ✅ 其他精选从两个网站混合选择
    • ✅ 生成 combined_en.txt 和 combined_cn.txt
  • v4.0 (2026-04-11): 多网站支持

    • ✅ 新增 TechCrunch 网站支持
    • ✅ LightReading + TechCrunch 双源推送
    • ✅ 统一的推送格式和 Webhook 配置
  • v3.2 (2026-04-11): 增加推送频率

    • ✅ 推送频率从每天 1 次改为每 3 小时一次
    • ✅ 每天自动检查新文章(8 次/天)
    • ✅ 增加重试机制(最多 3 次)
    • ✅ 超时时间增加到 60 秒
  • v3.1 (2026-04-11): 全自动化流程

    • ✅ 内容从文件动态读取(today_cn.txt)
    • ✅ 移除硬编码中文内容
    • ✅ 新增 ai_translate.py 翻译助手
  • v3.0 (2026-04-11): AI 翻译模式

    • ✅ 移除百度翻译 API 依赖
    • ✅ 由 AI 助手直接翻译并推送

作者

OpenClaw Skills

许可证

MIT License

Comments

Loading comments...