hnsh3in/threat-intel-digest

GitHub: hnsh3in/threat-intel-digest

一个基于 n8n 与 Claude AI 构建的低成本自托管威胁情报流水线,通过两阶段智能分流过滤信息噪音,仅交付与组织高度相关的安全威胁摘要。

Stars: 1 | Forks: 0

# Threat Intel Digest ![License](https://img.shields.io/github/license/hnsh3in/threat-intel-digest) ![Last Commit](https://img.shields.io/github/last-commit/hnsh3in/threat-intel-digest) ![Stars](https://img.shields.io/github/stars/hnsh3in/threat-intel-digest) ![Built with n8n](https://img.shields.io/badge/built%20with-n8n-orange) ![Claude API](https://img.shields.io/badge/AI-Claude%20API-blueviolet) 一个自托管的威胁情报流水线,每日两次抓取 20 多个安全 RSS feed,通过根据您组织的架构和区域校准的 Claude AI 分流引擎处理每一条目,并仅交付真正相关内容的精简摘要——让您只获取关键的威胁信息,而不是海量原始信息流噪音。 基于 n8n(自托管,Docker)、AWS Lightsail 和 Anthropic Claude API 构建。运行成本低于 $12/月。 ## 独特之处 大多数开源威胁情报流水线仅停留在信息收集阶段——将少量 RSS feed 传入摘要提示并推送到频道。而本项目专为日常实际使用而构建: - **20+ 个 feed** - 覆盖范围包括威胁情报、DFIR、厂商研究、ICS/OT 以及国家级 CERT。The DFIR Report 和 Malware Traffic Analysis 等高信噪比、低吞吐量的信息源与 Bleeping Computer 和 The Hacker News 等高吞吐量的信息源并存。 - **相关性过滤,而非仅仅做摘要** - 在生成摘要之前,每一条目都会根据您的组织、分析师技术栈和受监控区域进行评分。不适用于您的噪音永远不会到达您的收件箱。 - **两阶段设计保持低成本** - 分流阶段仅对标题和摘要进行处理;摘要生成请求仅在条目通过阈值时触发。您可以获得广泛的覆盖,而无需为摘要生成所有内容付费。 - **针对反爬虫 feed 的回退抓取机制** - 拒绝默认爬虫(如 BankInfoSecurity、Fortiguard)的 feed 将使用浏览器的 User-Agent 进行重试,确保它们不会静默丢失。 - **专为校准而设计,而非一劳永逸** - 审计日志记录每一个判定(`PASSED` / `REJECTED` / `UNSCORED`)及其分数和原因。两周后,您可以准确查看阈值在何处过严或过松,并相应地调整提示。 - **这里的一切都基于真实数据** - 评分规则、自动升级规则和阈值均已经过实际流水线运行的调优。示例输出是真实的摘要执行结果,而非模拟数据。 ## 功能 - **双阶段 Claude 流水线** - 分流阶段首先对每一条目进行评分(成本高效);摘要生成仅针对通过阈值的条目运行,保持较低的 token 使用量 - **21 个 RSS feed** - 覆盖威胁情报、DFIR、厂商研究、ICS/OT 以及国家级 CERT - **相关性评分 (0-10)** - 可根据您的技术栈和区域进行配置 - **分流提示中的自动升级和自动降级规则** - 用于捕获边缘情况(CISA KEV 新增、针对 CNI 的国家级攻击活动、Infostealer IOC 投放、PhaaS 基础设施) - **双层回退抓取** - 先使用 n8n RSS 节点,其次是带有浏览器 `User-Agent` 的 HTTP 回退(处理如 BankInfoSecurity 和 Fortiguard 等反爬虫 feed) - **通过 n8n SQLite 实现跨执行去重** - 抑制之前运行中已出现的条目 - **每次运行实行 12 小时 pubDate 过滤**,并对无日期条目进行放行,以避免 feed 静默丢失数据 - **审计日志** (Google Sheets) 记录每一条目:`PASSED`、`REJECTED` 或 `UNSCORED` - 用于分流阈值校准 - **错误通知分支** - 失败的 feed 将向 Discord 和 Gmail 发送警报,包含 feed 名称、URL、HTTP 状态码和错误详情 - **Discord 分块** - 输出在条目边界处拆分,每条消息最多 1,950 个字符,webhook 调用之间延迟 2 秒,以防止 429 错误并保持顺序 ## 预计运行成本 | 组件 | 成本 | |---|---| | Claude API (Haiku) | 每日两次、21 个 feed 运行频率下低于 $5/月 | | AWS Lightsail | $7/月 (1GB RAM, 2 vCPUs) | ## 示例输出 **邮件摘要** ![Email Digest](https://raw.githubusercontent.com/hnsh3in/threat-intel-digest/main/samples/email_digest.png) **审计日志 - Feed 噪音分析** ![Feed Noise Analysis](https://raw.githubusercontent.com/hnsh3in/threat-intel-digest/main/samples/gsheet_feed_noise_analysis_chart.png) **审计日志 - 分流数据** ![Triage Audit](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/67aabbcb9d161101.png) 有关包含错误通知的完整输出示例,请参阅 [samples/](./samples/) 文件夹。 ## 技术栈 | 组件 | 技术 | |---|---| | 编排 | [n8n](https://n8n.io/) (自托管, Docker) | | 托管 | AWS Lightsail - Ubuntu 24.04 LTS | | AI / 分流 | Anthropic Claude API (`claude-haiku-4-5-20251001`) | | 通知 | Discord Webhook, Gmail (OAuth2) | | 审计日志 | Google Sheets (OAuth2) | | 语言 | JavaScript (n8n Code 节点) | | 去重 | n8n SQLite (内置, 跨执行) | ## 前置条件 - AWS Lightsail 实例(或任何 Linux VPS) - 运行于 Ubuntu 24.04 LTS, 1GB RAM - n8n (自托管) - 运行于 v2.14.2 - Anthropic API 密钥 ([console.anthropic.com](https://console.anthropic.com)) - **在激活前,请务必在 Console > Settings > Limits 中设置月度消费限额**,以在密钥泄露时限制风险敞口 - 带有 webhook URL 的 Discord 服务器 - 在 Google Cloud Console 中配置了 OAuth2 的 Gmail 账户 - Google Sheets(用于审计日志) 有关逐步配置说明,请参阅 [SETUP.md](./SETUP.md)。 ## 流水线阶段 ### 阶段 1 - 分流 - 输入:仅 `title` + `contentSnippet`(精简,高性价比) - 模型:`claude-haiku-4-5-20251001`,max_tokens:2000 - 输出:JSON 数组 - `{ id, score, category, reason }` - 阈值:score >= 4 通过;score < 4 被拒绝 **评分规则 (0-10):** | 分数 | 标准 | |---|---| | 10 | 直接提及您的组织或核心平台。在确切的分析师技术栈中被积极利用的 zero-day。 | | 8-9 | 针对您目标区域内 CNI 的国家级攻击活动。针对 CNI 的勒索软件。您所在行业的关键系统和运营平台中的漏洞。安全或 IT 工具的供应链攻击。PAM/特权访问妥协。 | | 6-7 | Windows/AD/Azure 惯用手法 (Kerberoasting, DCSync, ADCS, OAuth abuse, AiTM, BYOVD)。新型勒索软件 TTPs。AI/LLM 攻击 (prompt injection, MCP exploits)。Container/K8s escapes。带有 IOC 的 Infostealer 攻击活动。PhaaS 基础设施。SIEM/XDR 绕过。 | | 4-5 | DFIR 与检测工程 (Sigma, KQL, YARA, Sysmon, Velociraptor)。MITRE ATT&CK 研究。Linux/macOS 企业级攻击。具有 RCE/SSRF/auth bypass 原语的 CVE,但无确认的利用。 | | 2-3 | 一般性的漏洞披露。安全行业新闻。边缘研究。 | | 0-1 | 厂商营销、会议公告、消费者建议、无关内容。 | ### 阶段 2 - 摘要生成 - 输入:仅限通过阈值的条目 - 模型:`claude-haiku-4-5-20251001`,max_tokens:10000 - 每条目输出:标题、来源、发布时间、类别、相关性分数、摘要(2 句话)、建议操作、阅读原文链接 - 按相关性分数降序排列 - 原样使用 `triageScore` - 模型被指示不得对其进行调整 ## 工作原理 每次运行进行两次 Claude API 调用 - 首先进行分流,然后仅对通过的内容生成摘要。 ``` flowchart TD A([Schedule Trigger\n00:00 & 12:00 UTC]) --> B[RSS Feed List\n21 feeds] B --> C[Clear Accumulator] C --> D[Split Feed Array] D --> E{Loop Feeds\nbatch size 1} E --> F[Fetch RSS\nn8n RSS node] F --> G[Unpack Feed Fallback] G --> H{Error?} H -- Yes --> I[HTTP Fallback Fetch\nbrowser User-Agent] I --> J[Parse RSS XML\nregex, RSS 2.0 + Atom] J --> K{Still failing?} K -- Yes --> L[Format Error Notification] L --> M[Gmail Error Alert] L --> N[Discord Error Alert] N --> O[Rate Limit Delay 2s] K -- No --> O H -- No --> O O --> P[Accumulate Items\nworkflow static data] P --> Q{All feeds done?} Q -- No --> E Q -- Yes --> R[Read Accumulated Items] R --> S[Filter pubDate 12h] S --> T[Deduplicate by Link\ncross-execution SQLite] T --> U[Aggregate Items] U --> V[Build Triage Payload] V --> W[[Claude Haiku\nStage 1: Triage\nJSON score array]] W --> X[Decode Claude Response] X --> Y[Parse + Filter\nthreshold score 4] Y --> Z[Audit Rows] Z --> AA[(Google Sheets\nAudit Log)] Y --> AB[Build Summary Payload] AB --> AC[[Claude Haiku\nStage 2: Summarise\nsurvivors only]] AC --> AD[Format Gmail] AC --> AE[Format Discord] AD --> AF[Gmail\nHTML digest] AE --> AG[Split In Batches] AG --> AH[Discord Webhook] AH --> AI[Wait 2s] AI --> AG ``` ## RSS Feeds (21) | 来源 | 类型 | |---|---| | The Hacker News | 综合威胁新闻 | | Bleeping Computer | 漏洞与恶意软件新闻 | | Krebs on Security | 调查类威胁情报 | | Dark Reading | 行业安全新闻 | | BankInfoSecurity | 金融行业 / CNI | | Cisco Talos | 厂商威胁研究 | | Palo Alto Unit 42 | 厂商威胁研究 | | Malwarebytes Blog | 恶意软件分析 | | Microsoft Security Blog | Microsoft 架构通告 | | Rapid7 Blog | 漏洞研究 | | SANS ISC | 每日威胁指标 | | Fortiguard IR | 厂商 IR 通告 | | Recorded Future | 威胁情报 | | Malware Traffic Analysis | PCAP / 流量分析 | | CISA ICS Advisories | OT/ICS 通告 | | The DFIR Report | DFIR 案例研究 | | JPCERT/CC | 国家级 CERT | | Elastic Security Labs | 检测研究 | | CrowdStrike Blog | 厂商威胁研究 | | SentinelOne Labs | 恶意软件与威胁研究 | | Red Canary | 检测工程 | ## 仓库结构 ``` Threat_Intel_Digest/ ├── README.md # This file ├── SETUP.md # Deployment and configuration guide ├── FEEDS.md # Feed list with notes ├── samples/ # Sample output screenshots │ ├── discord_digest.png │ ├── gsheet_triage_audit.png │ └── gsheet_feed_noise_analysis_chart.png └── workflow/ └── Threat_Intel_Digest_Published_v1.0.json # n8n workflow export (sanitised) ``` ## 路线图 - [ ] 通过 RSS 桥接或 Bot API 进行 Telegram feed 抓取 - [ ] 针对暗网泄露站点和地下论坛的 Onion 站点爬取 (Tor + scraper) - [ ] 每周汇总摘要 - [ ] 在摘要生成 prompt 中加入 MITRE ATT&CK 技术标记 - [ ] 提取 IOC (IPs, domains, hashes, CVE IDs) 为结构化输出 - [ ] 通过摘要生成 prompt 产生检测规则建议 (Sigma / KQL / YARA) ## License MIT
标签:AWS, DLL 劫持, Docker, DPI, RSS聚合, 大语言模型, 威胁情报, 安全防御评估, 开发者工具, 数据可视化, 请求拦截