百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
W

watchvuln

> 编程语言
开源

一个高价值漏洞采集与推送服务 | Collect valueable vulnerabilities and push them to various services

1.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

一个高价值漏洞采集与推送服务 | Collect valueable vulnerabilities and push them to various services

WatchVuln 高价值漏洞采集与推送

众所周知,CVE 漏洞库中 99% 以上的漏洞只是无现实意义的编号。我想集中精力看下当下需要关注的高价值漏洞有哪些,而不是被各类 RSS 和公众号的 威胁情报 淹没。 于是写了这个小项目来抓取部分高质量的漏洞信息源然后做推送。 WatchVuln意为监测 漏洞更新,同时也表示这些漏洞需要注意。

当前抓取了这几个站点的数据:

名称 地址 推送策略
阿里云漏洞库 https://avd.aliyun.com/high-risk/list 等级为高危或严重
长亭漏洞库 https://stack.chaitin.com/vuldb/index 等级为高危或严重并且标题含中文
OSCS开源安全情报预警 https://www.oscs1024.com/cm 等级为高危或严重并且包含 预警 标签
奇安信威胁情报中心 https://ti.qianxin.com/ 等级为高危严重并且包含 奇安信CERT验证 POC公开 技术细节公布标签之一
微步在线研究响应中心(公众号) https://x.threatbook.com/v5/vulIntelligence 等级为高危或严重
知道创宇Seebug漏洞库 https://www.seebug.org/ 等级为高危或严重
启明星辰漏洞通告 https://www.venustech.com.cn/new_type/aqtg/ 等级为高危或严重
CISA KEV https://www.cisa.gov/known-exploited-vulnerabilities-catalog 全部推送
Struts2 Security Bulletins Struts2 Security Bulletins 等级为高危或严重

所有信息来自网站公开页面, 如果有侵权,请提交 issue, 我会删除相关源。

如果有更好的信息源也可以反馈给我,需要能够响应及时 & 有办法过滤出有价值的漏洞

具体来说,消息的推送有两种情况, 两种情况有内置去重,不会重复推送:

  • 新建的漏洞符合推送策略,直接推送,
  • 新建的漏洞不符合推送策略,但漏洞信息被更新后符合了推送策略,也会被推送

快速使用

支持下列推送方式:

  • 钉钉群组机器人
  • 微信企业版群组机器人
  • 飞书群组机器人
  • 蓝信群组机器人
  • Server 酱
  • PushPlus
  • WPUSH
  • Slack Webhook
  • Telegram Bot
  • 自定义 Bark 服务
  • 自定义 Webhook 服务

使用 Docker

Docker 方式推荐使用环境变量来配置服务参数

环境变量名 说明 默认值
DB_CONN 数据库链接字符串,详情见 数据库连接 sqlite3://vuln_v3.sqlite3
DINGDING_ACCESS_TOKEN 钉钉机器人 url 的 access_token 部分
DINGDING_SECRET 钉钉机器人的加签值 (仅支持加签方式)
LARK_ACCESS_TOKEN 飞书机器人 url 的 /open-apis/bot/v2/hook/ 后的部分, 也支持直接指定完整的 url 来访问私有部署的飞书
LARK_SECRET 飞书机器人的加签值 (仅支持加签方式)
WECHATWORK_KEY 微信机器人 url 的 key 部分
SERVERCHAN_KEY Server酱的 SCKEY
WEBHOOK_URL 自定义 webhook 服务的完整 url
BARK_URL Bark 服务的完整 url, 路径需要包含 DeviceKey
PUSHPLUS_KEY PushPlus的token
WPUSH_KEY WPUSH 的 apikey
WPUSH_CHANNEL WPUSH 发送通道,可选 wechat/app/webhook/feishu/dingtalk/wechat_work/mail/sms 等 wechat
WPUSH_TOPIC_CODE WPUSH 主题消息编码(可选)
LANXIN_DOMAIN 蓝信webhook机器人的域名
LANXIN_TOKEN 蓝信webhook机器人的hook token
LANXIN_SECRET 蓝信webhook机器人的签名
TELEGRAM_BOT_TOKEN Telegram Bot Token
TELEGRAM_CHAT_IDS Telegram Bot 需要发送给的 chat 列表,使用 , 分割
SLACK_WEBHOOK_URL slack webhook 完整 url
SLACK_CHANNEL 要推送到的 slack 频道
SOURCES 启用哪些漏洞信息源,逗号分隔, 可选 avd, ti, oscs, seebug,threatbook,struts2,chaitin avd,ti,oscs,threatbook,seebug,struts2,venustech
INTERVAL 检查周期,支持秒 60s, 分钟 10m, 小时 1h, 最低 1m 30m
ENABLE_CVE_FILTER 启用 CVE 过滤,开启后多个数据源的统一 CVE 将只推送一次 true
NO_FILTER 禁用上述推送过滤策略,所有新发现的漏洞都会被推送 false
NO_START_MESSAGE 禁用服务启动的提示信息 false
WHITELIST_FILE 指定推送漏洞的白名单列表文件, 详情见 推送内容筛选
BLACKLIST_FILE 指定推送漏洞的黑名单列表文件, 详情见 推送内容筛选
DIFF 跳过初始化阶段,转而直接检查漏洞更新并推送
HTTPS_PROXY 给所有请求配置代理, 详情见 配置代理
GO_SKIP_TLS_CHECK 跳过 tls 校验,详情见 配置代理 false
NO_SLEEP 禁用夜晚休眠,全天24小时无休!其他 false

比如使用钉钉机器人

bash
docker run --restart always -d \
  -e DINGDING_ACCESS_TOKEN=xxxx \
  -e DINGDING_SECRET=xxxx \
  -e INTERVAL=30m \
  -e ENABLE_CVE_FILTER=true \
  zemal/watchvuln:latest

当然,你可以仓靠使用本仓库的 docker-compose.yaml 文件,使用 docker-compose 来启动容器。

每次更新记得重新拉镜像:

bash
docker pull zemal/watchvuln:latest
使用企业微信群组机器人
bash
docker run --restart always -d \
  -e WECHATWORK_KEY=xxxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
飞书群组机器人
bash
docker run --restart always -d \
  -e LARK_ACCESS_TOKEN=xxxx \
  -e LARK_SECRET=xxxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用蓝信 Webhook 机器人
bash
docker run --restart always -d \
  -e LANXIN_DOMAIN=xxx \
  -e LANXIN_TOKEN=xxx \
  -e LANXIN_SECRET=xxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用 Server 酱
bash
docker run --restart always -d \
  -e SERVERCHAN_KEY=xxxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用 PushPlus
bash
docker run --restart always -d \
  -e PUSHPLUS_KEY=xxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用 WPUSH
bash
docker run --restart always -d \
  -e WPUSH_KEY=xxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用 Slack Webhook
bash
docker run --restart always -d \
  -e SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX \
  -e SLACK_CHANNEL=#your-channel \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用Telegram 机器人
bash
docker run --restart always -d \
  -e TELEGRAM_BOT_TOKEN=xxx \
  -e TELEGRAM_CHAT_IDS=1111,2222 \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用自定义 Bark 服务
bash
docker run --restart always -d \
  -e BARK_URL=http://xxxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用自定义 Webhook 服务

通过自定义一个 webhook server,可以方便的接入其他服务, 实现方式可以参考: example

bash
docker run --restart always -d \
  -e WEBHOOK_URL=http://xxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
使用多种服务

如果配置了多种服务的密钥,那么每个服务都会生效, 比如使用钉钉和企业微信:

bash
docker run --restart always -d \
  -e DINGDING_ACCESS_TOKEN=xxxx \
  -e DINGDING_SECRET=xxxx \
  -e WECHATWORK_KEY=xxxx \
  -e INTERVAL=30m \
  zemal/watchvuln:latest

初次运行会在本地建立全量数据库,大约需要 1 分钟,可以使用 docker logs -f [containerId] 来查看进度, 完成后会在群内收到一个提示消息,表示服务已经在正常运行了。

使用二进制

前往 Release 下载对应平台的二进制,然后在命令行执行。命令行参数请参考 Docker 环境变量部分的说明,可以一一对应。

…

在参数中指定相关 Token 即可, 比如使用钉钉群组机器人

$ ./watchvuln --dt DINGDING_ACCESS_TOKEN --ds DINGDING_SECRET -i 30m
使用企业微信群组机器人
$ ./watchvuln --wk WECHATWORK_KEY -i 30m
使用飞书群组机器人
bash
$ ./watchvuln --lt LARK_ACCESS_TOKEN --ls LARK_SECRET -i 30m
使用蓝信群组机器人
$ ./watchvuln --lxd xxxx --lxt xxx --lxs xxx -i 30m
使用 Server 酱
$ ./watchvuln --sk xxxx -i 30m
使用 PushPlus
$ ./watchvuln --pk xxxx -i 30m
使用 WPUSH

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Godingding-botlark-botvulnerabilityvulnerability-analysis

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言