Madhumasa84/cyberdigest_84
GitHub: Madhumasa84/cyberdigest_84
一款零配置的自动化网络安全新闻聚合 Agent,定期从九个可信来源抓取资讯并生成交互式威胁情报报告。
Stars: 0 | Forks: 0
# 🛡️ CyberDigest



## ✨ 功能简介
CyberDigest 每 3 天自动从 **9 个可信来源**抓取网络安全新闻,并生成可直接在浏览器中打开的精美、交互式 HTML 报告。
- 🔴 **严重** / 🟠 **高** / 🔵 **普通** 严重性评分
- 🔍 **实时搜索** — 按关键字、CVE ID 或来源进行筛选
- 📊 从 NVD 数据库实时获取 **CVSS 评分**
- 🗂️ **30 天滚动时间窗口** — 自动删除旧新闻,始终保持新鲜
- 💻 **永久在后台运行** — 重启后自动恢复运行
- 📁 **归档页面** — 浏览所有历史摘要
## 🚀 快速开始(3 个步骤)
### 第一步 — 克隆仓库
```
git clone https://github.com/YOUR_USERNAME/cyberdigest.git
cd cyberdigest
```
### 第二步 — 运行启动程序
| 操作系统 | 命令 |
|---|---|
| **Windows** | 双击 `start.bat` |
| **macOS / Linux** | 在终端中运行 `bash start.sh` |
### 第三步 — 完成 🎉
浏览器会自动打开并显示摘要。关闭终端窗口。Agent 会在后台永久静默运行。
## 🐳 Docker(适用于服务器 / 高级用户)
想在 24/7 运行的服务器上脱离桌面 UI 无头运行吗?只需使用 Docker:
```
git clone https://github.com/YOUR_USERNAME/cyberdigest.git
cd cyberdigest
docker-compose up -d
```
Docker 将构建环境并完全在后台运行 Agent。它会自动检测到处于无头模式,跳过浏览器弹窗,并将您的报告安全地写入 `reports/` 文件夹。
## 📋 环境要求
- **Python 3.8+** — [在此下载](https://www.python.org/downloads/) *(在 Windows 上请勾选“Add to PATH”)*
- 网络连接
- 约 50 MB 磁盘空间
无需其他设置 — 其他所有内容均会自动安装。
## 📁 项目结构
```
cyberdigest/
├── news_agent.py ← The entire agent (single file)
├── start.sh ← Launcher for macOS / Linux
├── start.bat ← Launcher for Windows
├── requirements.txt ← Python dependencies
├── config.json ← Auto-generated settings (editable)
├── state.db ← Article history database (auto-created)
├── status.txt ← Last run summary (human-readable)
├── heartbeat.txt ← Proof the agent is alive
├── agent_log.txt ← Detailed technical log
└── reports/
├── index.html ← Archive of all past digests
└── cybersec_report_YYYYMMDD_HHMM.html
```
## ⚙️ 配置说明
编辑 `config.json`(首次运行时自动创建)以自定义行为:
```
{
"interval_days": 3,
"max_archived_reports": 30,
"max_articles_per_feed": 8,
"critical_keywords": ["cve-", "zero-day", "ransomware", "breach", "rce"],
"high_keywords": ["vulnerability", "flaw", "patch"],
"email": {
"enabled": false,
"smtp_host": "smtp.gmail.com",
"smtp_port": 587,
"username": "your_email@gmail.com",
"password": "your_app_password",
"from_addr": "your_email@gmail.com",
"to_addrs": ["recipient@example.com"]
},
"nvd_api_key": ""
}
```
编辑完成后,运行一次启动程序以重新注册新的计划任务。
## 🖥️ CLI 命令
```
# 立即强制运行(忽略 3 天间隔检查)
python3 news_agent.py --force
# 完整健康报告 — scheduler、DB、feeds、磁盘、互联网、lock files
python3 news_agent.py --healthcheck
# 移除后台调度(保留所有报告)
python3 news_agent.py --uninstall
```
## 📡 新闻来源
| 来源 | 关注领域 |
|---|---|
| The Hacker News | 综合网络安全 |
| Krebs on Security | 调查与数据泄露 |
| Schneier on Security | 分析与政策 |
| CISA Advisories | 美国政府警报 |
| Sophos Threat Research | 恶意软件与威胁 |
| Microsoft Security Blog | Windows 与云安全 |
| Cloudflare Security | 基础设施与 DDoS |
| WeLiveSecurity (ESET) | 恶意软件研究 |
| Graham Cluley | 新闻与评论 |
## 🔧 调度工作原理
| 操作系统 | 方法 |
|---|---|
| Windows | Task Scheduler (`schtasks`) |
| macOS | LaunchAgent (`launchctl`) |
| Linux | Cron (`crontab`) |
Agent 在创建任务后会**验证**其是否注册成功。如果注册失败,它将回退到进程内循环,并在报告中显示通知。
## ❓ 常见问题解答
**问:我需要一直开着终端吗?**
不需要。首次运行后,将由操作系统调度程序接管。您可以随意关闭它。
**问:如果程序运行时我的网络断了怎么办?**
Agent 会检测到网络中断,等待 30 分钟后重试 — 绝不会生成空报告。
**问:我离开了 2 周。我会错过摘要吗?**
不会。当您的电脑一开机,错过运行的补 catch-up 制就会立即启动。
**问:我该如何完全卸载?**
运行 `python3 news_agent.py --uninstall`,然后删除该文件夹即可。
**问:我可以添加自己的 RSS feeds 吗?**
可以 — 在 `news_agent.py` 顶部附近编辑 `FEEDS` 列表。
## 📜 许可证
MIT — 个人和商业使用均免费。
标签:Docker, Python, 多模态安全, 威胁情报, 安全防御评估, 开发者工具, 无后门, 网络安全, 自动化代理, 请求拦截, 逆向工具, 隐私保护