Skip to content

从 Github 上获取最新漏洞信息,并对仓库标星和数量进行持续监控。

Notifications You must be signed in to change notification settings

45qq/CVE-Sentinel

Repository files navigation

EXP-Monitoring

从 Github 上获取最新漏洞信息,并对仓库标星和数量进行持续监控。

特点

一般从漏洞公布到出现 exp 的时间在15天以内,EXP-Monitoring 将从 Github 上获取漏洞信息,对持续监控一段时间(默认持续监控20天),记录这段时间内仓库的标星数量变化,对短期内标星数量快速上升和创建仓库数量快速增加的 CVE 漏洞将会被记录,最后对搜集到的漏洞信息进行过滤后推送。

  • 持续监控标星和仓库数量变化
  • 扫描和推送分离,支持自定义扫描计划和推送时间
  • 推送过滤,过滤掉大量无用漏洞
  • 支持推送类型: Server酱、邮件、钉钉
  • 推送附带 CNNVD 中文描述(危害、类型、简介)

安装

注意:新版数据库与旧版数据库不兼容,安装新版需要删除旧版数据库,或更改数据库名。

下载安装

cd /usr/share/
git clone https://github.com/45qq/EXP-Monitoring.git
cd EXP-Monitoring
python3 -m pip install -r requirements.txt

完善 config.yaml 配置

需要在 config.yaml 中配置:

  • github token
  • 推送方式
  • mysql 数据库主机、用户、密码

配置 github token

github_monitor_config:
  # 配置 github token (在 https://github.com/settings/tokens/new 生成)。
  token: ghp_15phroQOJtruJIaNPqa2614pYWxxxxxxxxxxx
......

配置推送方式,Server酱的 send_key(也可以配置其它推送方式,选择一两个就行了)。

# 推送配置
push_config:
  # Server酱推送配置
  server_chan:
    enable: true
    send_key: SCT63558ToWsvMZ0vUbcxxxxxxxxxxxxxx
......

使用 mysql 数据库,mysql 请自行安装,需要 5.6 以上的版本。
需要修改 mysql 数据库用户名和密码:

mysql_config:
  db: 'exp-monitoring'
  host: 'localhost'
  port: 3306
  user: 'root'
  password: 'root'

配置为为 Linux 服务

# 复制 exp-monitoring.service.example 文件到指定目录下
cp ./exp-monitoring.service.example /usr/lib/systemd/system/exp-monitoring.service
# 开启服务
service exp-monitoring start
# 查看服务状态
systemctl status exp-monitoring.service
# 设置开机自启动
systemctl enable exp-monitoring.service

# 关闭服务
service exp-monitoring stop
# 重启服务
service exp-monitoring restart

启动

配置为为 Linux 服务后脚本会自动运行,不使用 Linux 服务则使用以下方式启动保持后台运行:

nohup python3 EXP-Monitoring.py &

启动后会进行数据库安装和 Github 数据初始化,完成后会从配置的推送方式发送一条初始化成功的通知信息,如果没有搜到则查看服务状态查看报错信息。

效果

e1 e2 e3 e3
e1 e2 e7

About

从 Github 上获取最新漏洞信息,并对仓库标星和数量进行持续监控。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published