文章总结: TL-ICScan是一款开源的漏洞情报聚合工具,采用Python采集和Rust存储的架构,整合NVD、CISAKEV、Exploit-DB等多个数据源,提供统一的查询界面。该工具将所有数据存储在本地,适合保密性要求高的环境,支持Web界面和命令行两种使用方式。文章详细介绍了工具的安装部署、数据更新和使用方法,并提供了日常漏洞监控、应急响应、红队信息收集和安全周报输出等实际应用场景。对于安全从业者和红队成员来说,这款工具能有效解决漏洞情报分散的问题,提高工作效率。
综合评分: 89
文章分类: 漏洞分析,威胁情报,安全工具,安全运营,应急响应
告别漏洞情报焦虑:这款开源神器让你一个界面掌握全网CVE动态
原创
Zacarx
Zacarx随笔
2025年12月12日 08:31
陕西
“
还在NVD、Exploit-DB、GitHub之间反复横跳?试试这个本地化漏洞情报聚合工具
Part1 前言
大家好,我是Zacarx。最近在整理日常安全运营中用到的工具,发现一个痛点:漏洞情报太分散了。NVD要查一遍,CISA KEV要看一遍,Exploit-DB还得翻一翻,GitHub上的PoC更是散落各处。每次出个新洞,光是收集情报就得花半天。
后来发现了天禄实验室开源的这款工具——TL-ICScan,用了一段时间,确实解决了我的问题。今天就把这个工具分享给大家,希望能帮各位在日常的安全运营、红队评估中节省点时间。
注: 这是一款纯情报工具,不涉及漏洞扫描和利用,专注于”情报收集”这一件事。数据全部存在本地,查询不用联网,对于需要保密的内网环境非常友好。
Part2 工具介绍
先说说这工具的核心思路,用一句话概括就是:
“
Python 负责”进货”,Rust 负责”管库”。
具体来说:
-
Python(采集端)
去 NVD、GitHub、Exploit-DB、CISA KEV 等网站抓取最新的漏洞情报
-
Rust(核心库)
把抓回来的数据快速存入本地 SQLite 数据库,提供毫秒级查询
-
Web UI(展示端)
直接读本地数据库,随查随有
这个架构的好处是:采集和存储分离,Python 写采集脚本方便扩展,Rust 处理大量数据性能有保障。
- ## 支持的情报源
目前支持以下数据源的自动采集:
| 数据源 | 说明 |
| — | — |
| NVD | 美国国家漏洞数据库,最全的CVE信息 |
| CISA KEV | 已知被利用漏洞目录,实战价值高 |
| Exploit-DB | 公开的漏洞利用代码库 |
| GitHub PoC | 自动搜索GitHub上的CVE相关仓库 |
| EPSS | 漏洞利用概率评分,帮你判断优先级 |
| MSRC | 微软安全响应中心公告 |
注: 这些数据源会自动关联。比如一个CVE,工具会告诉你:NVD的描述是什么、CVSS评分多少、有没有在KEV列表里、GitHub上有几个PoC、EPSS评分是多少。一个界面全搞定。
- ## 安装部署
推荐用 Docker 一键部署,省心:
# 克隆项目
git clone https://github.com/tianlusec/TL-ICScan.git
cd TL-ICScan
# 启动服务
docker-compose up -d
启动后访问 http://localhost:8501 就能看到 Web 界面了。
如果想手动安装,需要准备:
- Rust 1.70+(编译核心工具)
- Python 3.8+(运行采集脚本)
# 编译 Rust 核心
cd tianlu-intel-core
cargo build --release
# 安装 Python 依赖
pip install -r requirements.txt
- ## 数据更新
首次使用需要拉取数据,项目提供了一键更新脚本:
- Windows:运行
update_all.bat - Linux/macOS:运行
./update_all.sh
脚本会自动运行所有采集器,把数据导入本地数据库。后续定期跑一下就行,增量更新。
注: 如果有 NVD API Key,可以设置环境变量 NVD_API_KEY,能大幅提升采集速度。没有的话也能用,就是慢点。
- ## Web界面使用
启动 Web UI:
streamlit run web_ui/dashboard.py
界面左侧是筛选条件:
-
关键字搜索
支持CVE ID、漏洞描述搜索
-
严重等级
CRITICAL、HIGH、MEDIUM、LOW
-
数据源
可以只看某个来源的数据
-
时间范围
按发布时间筛选
右侧是漏洞列表,点击可以查看详情。支持导出 CSV,方便导入 Excel 做进一步分析。
注: 界面上有个”快速详情查看”功能,输入CVE ID可以直接查。如果本地没有,还能一键从NVD在线查询并入库,挺方便的。
- ## 命令行使用
除了 Web 界面,CLI 也很好用,适合写脚本批量处理:
# 查询最近7天的高危漏洞
./tianlu-intel-core list --since 7d --severity HIGH --db tianlu_intel_v2.db
# 查看某个CVE的详细信息
./tianlu-intel-core show CVE-2024-12345 --db tianlu_intel_v2.db
# 导出为CSV
./tianlu-intel-core export --format csv --since 2024-01-01 --db tianlu_intel_v2.db > output.csv
还有个 digest 命令,可以根据配置文件生成情报简报:
./tianlu-intel-core digest --config watchlist.yml --since 1d --db tianlu_intel_v2.db
- ## Watchlist 配置
这是个很实用的功能。通过 watchlist.yml 配置你关注的技术栈,工具会自动筛选相关漏洞:
# 关注微软高危漏洞
-name:microsoft_critical
keywords: ["Microsoft", "Windows"]
severity:CRITICAL
# 关注VPN设备漏洞
-name:vpn_devices
keywords: ["Pulse Secure", "Fortinet", "Citrix"]
severity:HIGH
# 关注Web服务器
-name:web_servers
keywords: ["Apache", "Nginx", "Tomcat"]
配置好之后,每天跑一下 digest 命令,就能生成针对性的漏洞简报。对于需要定期输出安全周报的同学来说,这功能太香了。
Part3 实际使用场景
说几个我实际用到的场景:
1. 日常漏洞监控
每天早上跑一下更新脚本,然后用 Web 界面看看有没有新的高危漏洞。重点关注 CISA KEV 列表里的,这些是已经被实际利用的。
2. 应急响应
出了新漏洞,直接在工具里搜CVE ID,能快速看到:
- 漏洞描述和影响范围
- CVSS评分
- 有没有公开的PoC
- EPSS评分(被利用的概率)
这些信息对于判断漏洞优先级很有帮助。
3. 红队信息收集
打点之前,先用工具查一下目标技术栈相关的漏洞。比如目标用了 Fortinet,就搜一下最近有没有新洞,有没有公开的利用代码。
4. 安全周报输出
配置好 watchlist,每周跑一下 digest,自动生成 Markdown 格式的简报,稍微编辑一下就能发出去。
Part4 总结
1. TL-ICScan 是一款专注于漏洞情报聚合的工具,不做扫描不做利用,就做好”情报”这一件事。
2. 数据全部本地化存储,查询不依赖网络,适合对保密性有要求的环境。
3. Python + Rust 的架构设计合理,采集灵活、查询高效。
4. 支持 Docker 一键部署,上手门槛低。
5. 项目开源,MIT 协议,可以自由使用和修改。
项目地址:https://github.com/tianlusec/TL-ICScan
相关更新请关注公众号,有问题可以在 GitHub 提 Issue,或者在公众号后台留言交流。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Zacarx随笔 Zacarx《告别漏洞情报焦虑:这款开源神器让你一个界面掌握全网CVE动态》