Skip to content

satan1a/threat-broadcast

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Github-Bot
Mar 1, 2025
7a67e9f · Mar 1, 2025
Nov 24, 2020
Dec 21, 2020
Mar 1, 2025
Mar 1, 2025
Mar 1, 2025
May 8, 2021
Apr 29, 2020
Dec 18, 2020
Apr 29, 2020
Dec 18, 2020
May 12, 2021
May 8, 2021
Aug 11, 2020
May 12, 2021
Aug 11, 2020
Aug 13, 2020
Aug 11, 2020

Repository files navigation

Threat-Broadcast

威胁情报播报


运行环境

项目介绍

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

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

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

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

播报效果

订阅方式

  • 【开发者订阅】 可自行 Fork 项目,通过配置定时任务向自己的邮箱推送即可
  • 【个人订阅】 在 Issues 标题留下你的邮箱即可接收播报信息
  • 【个人订阅】 加入 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: 邮箱密码
  • 启用 Settings --> Actions 功能

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

有服务器方式

安装

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

国内的云主机(阿里云/腾讯云等)为了避免滥发邮件默认关闭了对 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 命令行客户端
  • 安装 GitPython 模块: pip install GitPython
  • 打开项目目录: cd ${workspace}/threat-broadcast
  • 设置使用 SSH 与 Github 连接(避免提交内容时要输入账密),详见 这里
  • 若设置 SSH 后还要输入密码才能提交,则还需要把仓库的 https 协议改成 ssh,详见 这里
  • main.py 添加运行参数 -ac 可自动提交变更到仓库

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

目录说明

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 .................................... [项目图片]
└── log ..................................... [项目日志]

版权声明

 Copyright (C) EXP,2016 License: GPL v3


About

威胁情报播报

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.7%
  • Smarty 2.3%