Skip to content

Sec-Joe/threat-broadcast

This branch is 2137 commits ahead of, 2072 commits behind EXP-Tools/threat-broadcast:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Github-Bot
Feb 20, 2025
4207518 · Feb 20, 2025
Jun 3, 2023
Feb 20, 2025
Aug 17, 2023
Feb 20, 2025
Feb 20, 2025
Jan 16, 2023
Feb 20, 2022
Aug 16, 2023
Apr 29, 2020
Sep 13, 2023
Aug 17, 2023
Feb 20, 2022
May 4, 2021
Aug 17, 2023
Sep 13, 2023
Aug 28, 2022

Repository files navigation

Threat-Broadcast

威胁情报播报


fork star

commit Contributors

license release PRs Welcome

运行环境

项目介绍

从以下公开的威胁情报来源爬取并整合最新信息:

关于 CVE 收录的完整性问题说明

本程序只收录国内外安全厂商已收录并分析的 CVE,并不收录所有 CVE,需要全量 CVE 的同学可自行去以下站点下载:

爬取到的 CVE 情报会作如下处理:

  • 【邮件播报】 接收播报信息的邮箱配置: recv/mail_*.dat
  • 【邮件播报】 对所有 open 状态的 Issues 标题中的邮箱地址发送播报信息
  • 实时播报】 接收播报信息的 QQ 群: 283212984
  • 实时播报】 接收播报信息的 WeChat 公众号: [名称]EXP技术 [微信号]exp-blog
  • 【页面播报】 最新的 TOP30 威胁情报会更新到 Github Page
  • 【情报归档】 所有威胁情报会归档到 sqlite

目前最有效的推送方式是邮件推送(建议使用手机邮箱,如 139 可触发短信通知)
因 QQ 机器人已停止服务,暂无法实现 QQ 群自动推送
因 WeChat 公众号停止个人号群发服务,现只能用户自己手动获取推送

播报效果

订阅方式

  • 【开发者订阅】 可自行 Fork 项目,通过配置定时任务向自己的邮箱推送即可
  • 【个人订阅】 在 Issues 标题留下你的邮箱即可接收播报信息(若希望取消订阅,请 close issue)
  • 个人订阅】 加入 QQ 群: 283212984
  • 个人订阅】 关注 WeChat 公众号:
      名称: EXP技术
      微信号: exp-blog

威胁情报推送源

认准我的推送源,勿点击来历不明链接,慎防钓鱼

开发者部署

无服务器方式(推荐)

本项目已配置 Github Actions,因此你只需轻松几步即可实现部署:

  • Fork 本项目 到你的代码仓库
  • 通过 Settings --> Secrets 配置用于 发送 威胁情报邮件的 3 个环境变量:
    • MAIL_SMTP: SMTP 服务器(国内推荐 QQ),如 smtp.qq.com
    • MAIL_USER: 邮箱账号,如 [email protected]
    • MAIL_PASS: 邮箱密码
    • GRAPAQL_TOKEN: 用于调用 Github GraphQL 接口加载收件人,可于个人 Settings 生成
  • 启用 Settings --> Actions 功能

尔后程序便会每小时执行一次,并自动生成 Github Page 播报页面(若要调整执行频率,可修改 autorun.ymlschedule 触发时点)

有服务器方式

安装

  • 任意找一台 Linux 服务器(阿里云、腾讯云等)
  • 安装 python 3.8
  • 安装 python 依赖: python -m pip install -r requirements.txt
  • 把仓库 checkout 到服务器本地: git clone https://github.com/lyy289065406/threat-broadcast
  • 安装 python 依赖: python -m pip install -r requirements.txt

国内的云主机(阿里云/腾讯云等)为了避免滥发邮件默认关闭了对 SMTP 25 端口的出口流量,直接导致邮件无法发送。 解封需要到控制台申请,例如 《阿里云 25 端口解封》、 《腾讯云 25 端口解封

配置定时任务

  • 修改 crontab 配置文件,设置定时任务: vim /etc/crontab
  • 设置定时任务命令(每小时): 0 * * * * root python ${workspace}/threat-broadcast/main.py [-any_args]
  • 注意脚本位置需使用绝对路径,根据实际 checkout 的位置修改即可
  • 保存 crontab 配置文件后会自动生效,查看日志: tail -10f /var/log/cron

程序运行参数可通过 main.py -h 查看帮助文档

自动生成 Github Page 播报页面

  • 安装 git 命令行客户端
  • 打开项目目录: cd ${workspace}/threat-broadcast
  • 设置使用 SSH 与 Github 连接(避免提交内容时要输入账密),详见 这里
  • 若设置 SSH 后还要输入密码才能提交,则还需要把仓库的 https 协议改成 ssh,详见 这里
  • main.py 添加运行参数 -ac 可自动提交变更到仓库

只要爬取到新的威胁情报则会刷新 docs/index.html,将其提交到仓库会自动更新 Github Page

RoadMap

  1. 增加供应链情报:某些很基础且被大量应用的第三方构件,突然有个很旧的历史版本放出更新,尤其是 rc 版本,则推送情报。(如 log4j)
  2. ....

目录说明

threat-broadcast
├── README.md ............................... [项目说明]
├── main.py ................................. [程序运行入口]
├── cache ................................... [威胁情报缓存]
├── data
│   └── cves.db ............................. [sqlite: 威胁情报归档]
├── docs .................................... [Github Page 威胁情报总览]
├── recv
│   ├── mail_*.dat .......................... [接收威胁情报的邮箱]
│   └── qq_group.dat ........................ [接收威胁情报的 QQ 群]
├── src ..................................... [项目源码]
├── script .................................. [数据库脚本]
├── tpl ..................................... [模板文件]
├── imgs .................................... [项目图片]
└── logs .................................... [项目日志]

版权声明

 Copyright (C) EXP,2016 License: GPL v3

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.7%
  • Smarty 2.3%