Python 安全资讯通知机器人设计方案¶
目标:把 Ubuntu 服务器打造成一个安全资讯雷达,自动采集漏洞情报、攻防文章、工具更新和 GitHub PoC,经过过滤、打分、AI 摘要后推送到 Telegram,并沉淀成 Markdown 归档。
一、最终效果¶
每天定时收到一份 Telegram 安全简报:
## 今日安全资讯摘要
### 高优先级
1. Apache Struts 新 RCE 漏洞披露
- 类型:远程代码执行
- 影响:Apache Struts 6.x
- 来源:NVD / GitHub PoC
- 建议:关注是否存在公开 PoC,检查资产是否使用相关组件
- 链接:https://...
2. Chrome 0day 已在野利用
- 类型:浏览器漏洞
- 风险:高
- 建议:立即更新 Chrome / Edge
- 链接:https://...
### 攻防文章
1. 某红队内网横向移动实战复盘
- 关键词:隧道、代理、域控、凭证
- 适合:攻防演练复盘学习
- 链接:https://...
### 工具更新
1. nuclei-templates 新增若干 CVE 模板
- 关注:Web 中间件、OA、网关设备
- 链接:https://...
也可以做成统计视图:
二、整体架构¶
Ubuntu Server
├── Python security-intel-bot
│ ├── 信息源采集:RSS / CISA KEV / NVD / GitHub / 厂商公告
│ ├── 数据清洗:去重、时间过滤、链接规范化、关键词过滤
│ ├── 分类打分:风险、来源、PoC、资产相关性、学习价值
│ ├── AI 摘要:一句话总结、影响范围、处置建议、学习建议
│ ├── 通知推送:Telegram 高危告警 / 每日简报 / 每周精读
│ └── 本地归档:SQLite + Markdown
└── cron / systemd timer
系统主线:
三、信息源采集层¶
3.1 漏洞情报源¶
优先级最高,适合做实时告警:
- CISA KEV
- NVD Recent CVEs
- GitHub Security Advisory
- VulnCheck
- Exploit-DB
- Packet Storm
- CNVD / CNNVD
- 各大厂商安全公告
重点关注:
- CVE
- RCE
- 未授权访问
- 权限绕过
- 信息泄露
- 供应链漏洞
- 在野利用
- PoC / Exp 公开
3.2 攻防社区文章¶
适合学习和博客选题。
国内:
- 先知社区
- 安全客
- FreeBuf
- 奇安信攻防社区
- 跳跳糖
- 绿盟科技博客
- 长亭安全应急响应中心
- 深信服千里目
- 腾讯玄武实验室
- 阿里云安全
- 火线 Zone
- 各 SRC 技术文章
国外:
- PortSwigger Research
- Google Project Zero
- Trail of Bits
- Bishop Fox
- Assetnote
- SonarSource
- Rapid7
- Tenable
- Qualys
- Horizon3.ai
- Unit 42
- Mandiant
- Cisco Talos
- CrowdStrike
- SANS Internet Storm Center
3.3 工具更新源¶
适合跟踪实战工具变化:
- nuclei
- nuclei-templates
- xray
- afrog
- fscan
- goby
- Burp Suite
- Metasploit
- sqlmap
- rad
- httpx
- subfinder
- naabu
- katana
- feroxbuster
- ysoserial
- marshalsec
重点关注:
- 新增漏洞检测模板
- 新增 PoC
- 新增利用模块
- 新工具发布
- 已知工具重大更新
3.4 GitHub PoC 和趋势¶
GitHub 适合监控新公开的 PoC、Exp 和 nuclei 模板。
建议关键词:
CVE-2026
RCE
unauth
auth bypass
SQL injection
deserialization
SSRF
XXE
Spring
Shiro
Struts
Fastjson
Jenkins
Confluence
Atlassian
Exchange
Fortinet
Palo Alto
Ivanti
Citrix
GitHub Search 示例:
四、数据清洗层¶
不能直接把所有资讯推送出来,否则会变成噪音。采集后需要做:
| 处理项 | 作用 |
|---|---|
| 去重 | 同一漏洞可能被多个源重复报道 |
| 标题规范化 | 去掉广告、站点前缀、无用符号 |
| 链接规范化 | 防止相同文章不同参数重复出现 |
| 时间过滤 | 只看最近 24 小时或 7 天 |
| 关键词过滤 | 只保留关心的方向 |
| 来源打分 | 官方公告 > 高质量研究团队 > 普通博客 |
| 风险评级 | 高危漏洞优先推送 |
| 语言识别 | 中文 / 英文分开摘要 |
| 标签提取 | Web、内网、工具、CVE、PoC、应急等 |
五、分类和打分规则¶
系统是否好用,核心在于打分规则。
可以设计为:
示例加权:
| 条件 | 加分 |
|---|---|
| 标题包含 RCE | +30 |
| 包含 CVE 编号 | +20 |
| 来源为 CISA KEV | +40 |
| 出现 exploit / PoC / Exp | +25 |
| 影响 Web 中间件 | +20 |
| 影响 VPN / 网关 / OA | +25 |
| 影响 Windows / Linux 基础组件 | +15 |
| 文章来自 PortSwigger / Project Zero / 长亭 / 先知等 | +10 |
| 纯营销内容 | -30 |
| 旧闻重复 | -40 |
分级策略:
| 分数 | 推送策略 |
|---|---|
| 80+ | 立即推送 |
| 60-79 | 每日摘要重点展示 |
| 40-59 | 每日摘要普通展示 |
| 低于 40 | 只存档,不推送 |
六、AI 摘要层¶
AI 可以负责:
- 标题翻译
- 文章摘要
- 风险判断
- 影响范围提取
- 是否值得学习
- 是否适合写博客
- 是否和 CISP-PTE / 渗透测试相关
- 是否需要应急关注
提示词模板:
你是安全情报分析助手。请分析以下安全资讯,输出:
1. 一句话摘要
2. 漏洞/技术类型
3. 影响对象
4. 是否有 PoC
5. 风险等级:高/中/低
6. 对渗透测试学习的价值
7. 是否建议立即关注
8. 适合归档到哪个分类:漏洞情报/攻防文章/工具更新/应急响应/基础知识
原文标题:
{title}
原文链接:
{url}
正文摘要:
{content}
建议让 AI 输出 JSON,方便后续处理:
{
"summary": "Apache 某组件披露远程代码执行漏洞,已有公开 PoC。",
"type": "RCE",
"target": "Apache xxx",
"has_poc": true,
"risk": "high",
"learning_value": "high",
"category": "漏洞情报",
"recommendation": "建议检查资产是否受影响,并关注官方补丁。"
}
七、通知模式¶
7.1 实时高危告警¶
触发条件:
- CISA KEV 新增
- 有公开 PoC 的高危 CVE
- 影响常见组件的 RCE
- 关键词命中
0day、in the wild、actively exploited - 涉及 VPN、网关、OA、邮件系统、远程管理系统
模板:
## 高危安全告警
标题:{title}
风险:高
类型:{vuln_type}
影响对象:{affected_product}
PoC 状态:{poc_status}
来源:{source}
摘要:
{summary}
建议:
{recommendation}
链接:
{url}
7.2 每日安全简报¶
每天早上或晚上推送:
## 每日安全简报:{date}
### 高危漏洞
{high_risk_items}
### PoC / Exploit
{poc_items}
### 攻防文章
{research_items}
### 工具更新
{tool_items}
### 值得精读
{recommended_items}
7.3 每周学习推荐¶
每周整理真正值得精读的文章:
## 本周安全精读推荐
### Web 安全
1. {title}
- 推荐理由:{reason}
- 关键词:{keywords}
- 链接:{url}
### 攻防演练
1. {title}
- 推荐理由:{reason}
- 关键词:{keywords}
- 链接:{url}
### 漏洞分析
1. {title}
- 推荐理由:{reason}
- 关键词:{keywords}
- 链接:{url}
八、推送频率建议¶
| 类型 | 频率 |
|---|---|
| 高危漏洞 | 实时推送 |
| 普通资讯 | 每天 1 次 |
| 精读推荐 | 每天 1 次或每周 1 次 |
| 工具更新 | 每天合并推送 |
| GitHub PoC | 每 6 小时检查一次 |
| CISA KEV | 每 2 小时检查一次 |
| 周报 | 每周日晚上 |
九、MVP 项目设计¶
第一版不要做太复杂,先完成闭环:采集、去重、打分、推送、归档。
目录结构:
security-intel-bot/
├── config/
│ ├── feeds.yaml
│ ├── keywords.yaml
│ └── rules.yaml
├── data/
│ └── intel.db
├── output/
│ ├── daily/
│ └── weekly/
├── src/
│ ├── collectors/
│ │ ├── rss.py
│ │ ├── github.py
│ │ ├── nvd.py
│ │ └── cisa_kev.py
│ ├── processors/
│ │ ├── dedup.py
│ │ ├── classify.py
│ │ ├── scoring.py
│ │ └── summarize.py
│ ├── notifiers/
│ │ └── telegram.py
│ └── main.py
├── docker-compose.yml
└── README.md
MVP 功能清单:
- 读取
feeds.yaml - 抓取 RSS / Atom / JSON 源
- 保存到 SQLite
- 根据关键词打分
- 只推送高分内容
- 每天生成 Telegram 日报
- 高危内容即时推送
- 保存 Markdown 归档
第一版暂时不做:
- 复杂 Web 爬虫
- 全文抓取
- 多用户系统
- 前端管理后台
- 向量数据库
- 自动发博客
- 太复杂的 AI Agent 流程
十、配置文件示例¶
10.1 feeds.yaml¶
feeds:
- name: CISA KEV
url: https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json
type: kev
category: vuln
priority: high
- name: NVD Recent CVEs
url: https://nvd.nist.gov/feeds/xml/cve/misc/nvd-rss.xml
type: rss
category: vuln
priority: high
- name: PortSwigger Research
url: https://portswigger.net/research/rss
type: rss
category: web-security
priority: high
- name: Project Zero
url: https://googleprojectzero.blogspot.com/feeds/posts/default
type: rss
category: vulnerability-research
priority: high
- name: FreeBuf
url: https://www.freebuf.com/feed
type: rss
category: cn-security
priority: medium
- name: Exploit-DB
url: https://www.exploit-db.com/rss.xml
type: rss
category: exploit
priority: high
- name: nuclei-templates
url: https://github.com/projectdiscovery/nuclei-templates/releases.atom
type: rss
category: tools
priority: high
10.2 keywords.yaml¶
high_risk:
- RCE
- Remote Code Execution
- 0day
- zero-day
- actively exploited
- in the wild
- authentication bypass
- unauthenticated
- privilege escalation
- deserialization
- command injection
- arbitrary file upload
- path traversal
- SSRF
- SQL injection
products:
- Apache
- Nginx
- Tomcat
- Jenkins
- GitLab
- Confluence
- Jira
- WordPress
- Spring
- Shiro
- Fastjson
- Exchange
- Fortinet
- Palo Alto
- Ivanti
- Citrix
- VMware
- Zabbix
- Grafana
- Kubernetes
- Docker
learning:
- Web Security
- Burp Suite
- SQL Injection
- XSS
- SSRF
- XXE
- deserialization
- OAuth
- JWT
- API Security
- Active Directory
- lateral movement
- privilege escalation
- red team
- CTF
china_focus:
- 泛微
- 致远
- 用友
- 金蝶
- 蓝凌
- 若依
- Jeecg
- 帆软
- 海康威视
- 大华
- 深信服
- 锐捷
- H3C
- 奇安信
- 天融信
十一、推荐落地路线¶
第一阶段:RSS 安全简报 MVP¶
目标:每天推送一次安全资讯摘要。
功能:
- 采集 20-30 个 RSS 源
- 过滤最近 24 小时内容
- 根据关键词分类
- 生成 Telegram 每日摘要
- 存一份 Markdown 到服务器
第二阶段:高危漏洞实时告警¶
触发条件:
CISA KEV 新增
CVSS >= 9.0
标题包含 RCE / 0day / exploited / PoC
GitHub 出现 CVE exploit 仓库
影响 VPN / 网关 / OA / 中间件
第三阶段:AI 精读和学习推荐¶
目标:不只是资讯,而是筛出真正值得学的文章。
输出:
## 今日值得精读
1. Web Cache Poisoning 技术研究
推荐理由:适合 Web 漏洞拓展,和 Burp 实战相关
学习关键词:缓存键、请求头污染、CDN
建议归档:Web 漏洞 / 高级技巧
2. 内网代理链路隐藏实践
推荐理由:和攻防演练横向移动相关
学习关键词:SOCKS、隧道、流量转发
建议归档:攻防实战 / 内网渗透
第四阶段:知识库联动¶
将高价值内容沉淀为 Markdown:
security-intel/
├── 2026-05/
│ ├── daily-2026-05-09.md
│ ├── cve-watch.md
│ ├── poc-watch.md
│ └── reading-list.md
后续可以选择性整理为博客文章,但公开发布前必须人工审核。
十二、初版技术选型¶
推荐先采用最小部署:
原因:
- 资源占用低
- 逻辑可控
- 后期可以平滑扩展
- 比 n8n 更适合复杂安全情报规则
- 比一上来做完整平台更不容易烂尾
十三、结论¶
这套系统最适合承担五个角色:
- 安全资讯雷达
- CVE 预警助手
- 攻防文章推荐器
- 博客选题来源
- CISP-PTE / 渗透测试学习素材库
推荐实现顺序:
第一步:Python RSS + CISA KEV + GitHub CVE 监控
第二步:Telegram 每日简报 + 高危实时告警
第三步:AI 摘要和学习价值评级
第四步:归档成 Markdown,供博客/知识库复用
先把闭环跑起来,再逐步增强。稳定、低噪音、能持续积累,才是这个安全资讯通知系统最重要的目标。