WatchVuln 飞书机器人使用完整文档

一、飞书机器人准备

1. 创建飞书机器人

  1. 打开飞书客户端,进入需要接收漏洞推送的群组,点击群设置 → 群机器人 → 添加机器人 → 自定义机器人;
  2. 填写机器人名称(如「WatchVuln漏洞推送」),按需配置「安全设置」(推荐开启「签名校验」);
  3. 复制机器人的「Webhook地址」(或仅复制access_token部分)、「签名密钥(Sign Secret)」,保存备用。

注意:飞书机器人权限仅能推送消息到创建时绑定的群组,如需推送到多个群组,需为每个群组单独创建机器人。

2. 飞书机器人配置说明

配置项 获取位置 作用
AccessToken 机器人Webhook地址末尾部分(或完整Webhook地址) 飞书机器人唯一标识,用于定位推送目标
SignSecret 机器人安全设置 → 签名校验 → 密钥 消息签名验证,防止伪造推送

二、飞书机器人部署方式

方式1:Docker部署(推荐)

1. 基础运行命令
bash 复制代码
docker run --restart always -d \
  -e LARK_ACCESS_TOKEN=你的飞书机器人access_token(或完整Webhook地址) \
  -e LARK_SECRET=你的飞书机器人签名密钥(可选,开启签名校验时必填) \
  -e INTERVAL=30m \  # 漏洞检查周期,支持60s/10m/1h
  -e ENABLE_CVE_FILTER=true \  # 开启CVE去重,同一漏洞仅推送一次
  zemal/watchvuln:latest
2. 私有化部署飞书适配

若你的飞书为私有化部署,直接填写完整Webhook地址即可(无需拼接):

bash 复制代码
docker run --restart always -d \
  -e LARK_ACCESS_TOKEN=https://your-private-lark-domain/open-apis/bot/v2/hook/xxxx \
  -e LARK_SECRET=你的签名密钥 \
  -e INTERVAL=30m \
  zemal/watchvuln:latest
3. 自定义筛选规则(黑白名单)

如需仅推送指定关键词的漏洞(如「泛微」「Apache」),可挂载黑白名单文件:

bash 复制代码
# 1. 创建白名单文件(每行一个关键词)
echo -e "泛微\nApache\nStruts2" > lark_whitelist.txt

# 2. 启动容器并挂载文件
docker run --restart always -d \
  -v $(pwd)/lark_whitelist.txt:/config/whitelist.txt \
  -e WHITELIST_FILE=/config/whitelist.txt \
  -e LARK_ACCESS_TOKEN=你的access_token \
  -e LARK_SECRET=你的签名密钥 \
  -e INTERVAL=30m \
  zemal/watchvuln:latest

方式2:二进制运行

1. 下载二进制文件

WatchVuln Release页面 下载对应系统(Linux/Windows/Mac)的二进制文件,赋予执行权限(Linux/Mac):

bash 复制代码
chmod +x watchvuln
2. 基础运行命令
bash 复制代码
# 公网飞书
./watchvuln --lt 你的access_token --ls 你的签名密钥 -i 30m

# 私有化部署飞书(直接填完整Webhook)
./watchvuln --lt https://your-private-lark-domain/open-apis/bot/v2/hook/xxxx --ls 你的签名密钥 -i 30m
3. 关键参数说明
参数 缩写 作用
--lark-access-token --lt 飞书机器人access_token或完整Webhook地址
--lark-sign-secret --ls 飞书机器人签名密钥(开启签名校验时必填)
--interval -i 漏洞检查周期(如30m表示30分钟检查一次)
--whitelist-file --xf 漏洞关键词白名单文件路径
--blacklist-file --bf 漏洞关键词黑名单文件路径
--no-filter - 禁用高价值筛选,推送所有漏洞
--no-sleep - 禁用夜晚休眠(默认00:00-07:00不运行)

方式3:配置文件部署(多机器人/多渠道推送)

1. 创建YAML配置文件(如lark_config.yaml
yaml 复制代码
db_conn: sqlite3://vuln_v3.sqlite3
sources: ["avd","oscs","seebug","threatbook","kev"]  # 启用的漏洞数据源
interval: 30m
enable_cve_filter: true
pusher:
  - type: lark
    access_token: "你的第一个飞书机器人access_token"
    sign_secret: "你的第一个飞书机器人签名密钥"
  - type: lark
    access_token: "https://your-private-lark-domain/open-apis/bot/v2/hook/xxxx"  # 私有化部署飞书
    sign_secret: "你的第二个飞书机器人签名密钥"
2. 启动命令
bash 复制代码
# Docker方式
docker run --restart always -d \
  -v $(pwd)/lark_config.yaml:/config.yaml \
  -e CONFIG=/config.yaml \
  zemal/watchvuln:latest

# 二进制方式
./watchvuln -c lark_config.yaml

三、验证飞书机器人运行

1. 测试推送(可选)

启动时添加测试参数,立即推送3条测试消息到飞书群组:

bash 复制代码
# Docker方式
docker run --rm \
  -e LARK_ACCESS_TOKEN=你的access_token \
  -e LARK_SECRET=你的签名密钥 \
  -e TEST=true \
  zemal/watchvuln:latest

# 二进制方式
./watchvuln --lt 你的access_token --ls 你的签名密钥 --test

2. 查看运行日志

bash 复制代码
# Docker查看日志
docker ps | grep watchvuln  # 获取容器ID
docker logs -f 容器ID

# 二进制查看日志
./watchvuln --lt 你的access_token --ls 你的签名密钥 -i 30m --debug

正常日志示例:

复制代码
[pusher-lark] sending text 数据初始化完成,当前版本 v1.6.0, 本地漏洞数量: 120, 检查周期: 30m 
[pusher-lark] sending markdown CVE-2024-12345 某某系统远程代码执行漏洞

3. 确认飞书消息

启动成功后,飞书群组会收到「数据初始化完成」的提示消息;漏洞检查周期内,符合条件的高价值漏洞会以Markdown格式推送至群组。

四、飞书机器人专属配置说明

环境变量 对应二进制参数 作用 默认值
LARK_ACCESS_TOKEN --lark-access-token/--lt 飞书机器人access_token或完整Webhook地址 -
LARK_SECRET --lark-sign-secret/--ls 飞书机器人签名密钥(开启签名校验时必填) -
NO_SLEEP --no-sleep 禁用夜晚休眠(默认00:00-07:00不推送) false
SOURCES --sources 自定义漏洞数据源(如avd,oscs,seebug) avd,ti,oscs,threatbook,seebug,struts2,venustech

五、常见问题解决

1. 飞书推送失败

  • 检查LARK_ACCESS_TOKEN是否正确:公网飞书填access_token部分,私有化部署填完整Webhook地址;
  • 若开启签名校验,确认LARK_SECRET与飞书机器人配置一致;
  • 飞书机器人未加入目标群组:删除机器人重新创建,确保绑定正确群组;
  • 网络问题:服务器无法访问飞书开放平台,配置HTTPS_PROXY环境变量(如-e HTTPS_PROXY=http://代理IP:端口)。

2. 飞书消息格式乱码

  • WatchVuln会自动处理Markdown格式兼容飞书,无需手动调整;
  • 若出现空行丢失,无需处理(飞书对Markdown空行兼容性问题,不影响内容阅读)。

3. 私有化部署飞书推送失败

  • 确认LARK_ACCESS_TOKEN填写完整的私有化Webhook地址(如https://your-lark-domain/open-apis/bot/v2/hook/xxxx);
  • 检查服务器是否能访问私有化飞书域名,关闭防火墙/安全组限制。

六、进阶优化

1. 仅推送指定等级漏洞

结合黑白名单,仅推送「严重」「高危」且含指定关键词的漏洞:

bash 复制代码
# 创建白名单文件,仅推送含"严重""高危"的漏洞
echo -e "严重\n高危" > lark_severity.txt

# 启动容器
docker run --restart always -d \
  -v $(pwd)/lark_severity.txt:/config/whitelist.txt \
  -e WHITELIST_FILE=/config/whitelist.txt \
  -e LARK_ACCESS_TOKEN=你的access_token \
  -e LARK_SECRET=你的签名密钥 \
  -e INTERVAL=15m \
  zemal/watchvuln:latest

2. 多飞书群组推送

通过配置文件添加多个飞书机器人,实现多群组推送:

yaml 复制代码
pusher:
  - type: lark
    access_token: "群组1的access_token"
    sign_secret: "群组1的签名密钥"
  - type: lark
    access_token: "群组2的access_token"
    sign_secret: "群组2的签名密钥"

3. 调整漏洞检查周期

根据需求缩短/延长检查周期(最低1分钟):

bash 复制代码
# 10分钟检查一次漏洞
docker run --restart always -d \
  -e LARK_ACCESS_TOKEN=你的access_token \
  -e LARK_SECRET=你的签名密钥 \
  -e INTERVAL=10m \
  zemal/watchvuln:latest
相关推荐
沉睡的无敌雄狮2 小时前
AI优化效果不可控?矩阵跃动龙虾机器人,数据驱动排名稳定提升
人工智能·矩阵·机器人
2301_766558653 小时前
矩阵跃动OpenClaw龙虾机器人:本地AI智能体+GEO优化,企业流量自动化落地
人工智能·矩阵·机器人
才兄说6 小时前
机器人租售效果好吗?任务前演示确认
人工智能·机器人
纽约恋情12 小时前
【ROS入门】8. 服务端Server的编程与实现
机器人·ros
码农三叔14 小时前
(10-5-03)大模型时代的人形机器人感知:基于RoboBrain大模型的人形机器人通用智能感知系统(3)模型训练
人工智能·机器学习·机器人·人形机器人
xwz小王子17 小时前
Advanced Functional Materials 花粉变身高敏“电子皮肤”,让机器人拥有触觉与痛觉,清华大学孙富春教授与中科院纳米所合作成果
机器人
鲁邦通物联网18 小时前
工业架构实战:四足机器人全场景安防巡检跨层调度与边缘状态机
机器人·巡检机器人·机器人梯控·agv梯控·机器人乘梯·机器人自主乘梯·安防机器人
田里的水稻19 小时前
EI_openclaw_UI交互
人工智能·ui·机器人
藦卡机器人19 小时前
藦卡激光焊接机器人优势
机器人