nuclei-templates 模板库 Top 10 统计解读:标签、作者、目录、严重级别与类型的全景数据
【免费下载链接】nuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templates
本文以 nuclei-templates 仓库根目录的 TOP-10.md 统计文档为核心,系统解读该社区模板库在标签(TAG)、作者(AUTHOR)、目录(DIRECTORY)、严重级别(SEVERITY)与协议类型(TYPE)五个维度上的 Top 10 数据,并结合仓库内的 CI 生成脚本、完整版统计(TEMPLATES-STATS.md / TEMPLATES-STATS.json)与扫描配置(profiles/)说明这些数字的来源与实战用法。读完本文,你将能够看懂 TOP-10.md 每一列的含义、知道这些统计如何自动生成、并能直接利用标签与严重级别组合出高效的 nuclei 扫描命令。
TOP-10.md 是什么
TOP-10.md 是 nuclei-templates 仓库随版本发布自动生成的一份"榜单式"统计快照。它不包含任何漏洞细节,而是把整个模板库按照五个维度分别排序、各取前 10 名,用于快速回答三个问题:
- 这个模板库重点覆盖哪些主题(标签与目录维度);
- 谁在贡献、贡献规模如何(作者维度);
- 扫描结果通常以什么严重级别、什么协议类型呈现(严重级别与类型维度)。
在仓库主文档 README.md 的 "Nuclei Templates Top 10 statistics" 一节中,同样展示了这份 Top 10 表格,并说明"每个矩阵(matrix)的前十项统计,完整版见 TEMPLATES-STATS.md,另有 JSON 格式可供程序化集成"。
五维 Top 10 完整数据
以下是 TOP-10.md 的原始全部内容(共 11 行,含表头):
| TAG | COUNT | AUTHOR | COUNT | DIRECTORY | COUNT | SEVERITY | COUNT | TYPE | COUNT |
|---|---|---|---|---|---|---|---|---|---|
| vuln | 6642 | dhiyaneshdk | 2144 | http | 11246 | info | 5103 | file | 447 |
| cve | 4431 | daffainfo | 950 | cloud | 663 | high | 2976 | dns | 34 |
| discovery | 3761 | princechaddha | 870 | file | 447 | medium | 2841 | ||
| vkev | 1873 | dwisiswant0 | 807 | code | 303 | critical | 1916 | ||
| wordpress | 1698 | pussycat0x | 802 | network | 280 | low | 518 | ||
| panel | 1615 | ritikchaddha | 783 | dast | 251 | unknown | 58 | ||
| wp-plugin | 1509 | rxerium | 719 | workflows | 207 | ||||
| exposure | 1482 | 0x_akoko | 456 | javascript | 129 | ||||
| xss | 1417 | pikpikcu | 353 | ssl | 38 | ||||
| osint | 1131 | theamanrawat | 351 | dns | 31 |
需要说明的是,这份数据是发布时刻的快照:每次打版本标签时由 CI 重新生成,因此随着社区不断提交新模板,数字会持续增长。例如 README.md 中内嵌的旧版表格(vuln 6468、http 9281)与当前 TOP-10.md(vuln 6642、http 11246)的差异,正体现了两次发布之间的增量。
数据从哪来:CI 自动统计生成
TOP-10.md 不是人工维护的,而是由仓库根目录的 .github/workflows/templates-stats.yml 自动生成。该工作流在两种情况下触发:
- 推送任意版本标签(
tags: '*'); - 手动触发(
workflow_dispatch)。
其核心逻辑是调用 projectdiscovery 提供的官方统计 Actionprojectdiscovery/actions/templates/stats@v1,分三次运行,产出三个文件:
- uses: projectdiscovery/actions/templates/stats@v1 with: path: '${{ github.workspace }}' output: 'TEMPLATES-STATS.md' - uses: projectdiscovery/actions/templates/stats@v1 with: path: '${{ github.workspace }}' output: 'TEMPLATES-STATS.json' args: '-json' - uses: projectdiscovery/actions/templates/stats@v1 with: path: '${{ github.workspace }}' output: 'TOP-10.md' args: '-top 10'可以看到,TOP-10.md 本质上就是完整统计在-top 10参数下的截断视图:同一份统计结果,完整版写入 TEMPLATES-STATS.md(约 8 千余行),机器可读版写入 TEMPLATES-STATS.json,Top 10 摘要版写入 TOP-10.md。生成完毕后工作流自动提交这三个文件,并附带仓库根目录的 templates-checksum.txt 用于模板集校验。
从统计口径看,扫描对象覆盖仓库内所有*.yaml/*.yml模板文件;仓库中的 .github/scripts/count-kev-stats.py(用于统计 KEV/vKEV 标签覆盖的辅助脚本)同样展示了这一口径的细节:遍历全部 YAML,排除workflows/、.github/、profiles/等非模板目录,再通过正则tags:\s*([^\n]+)提取每个模板的标签字段,用词边界匹配判断是否含kev/vkev标签。
逐维度解读
标签(TAG):模板库的主题分布
标签是 nuclei 模板的"语义索引",扫描时可通过-tags参数精准挑选。Top 10 标签揭示了模板库的重心:
| 标签 | 数量 | 含义与仓库内对应位置 |
|---|---|---|
| vuln | 6642 | 通用漏洞类标签,覆盖 http/vulnerabilities(959 个文件)等泛化漏洞检测 |
| cve | 4431 | 编号漏洞(CVE),主体在 http/cves(4299 个文件),另有 network/cves、javascript/cves、dast/cves |
| discovery | 3761 | 资产/技术发现类,对应 http/technologies(918 个文件)等指纹识别模板 |
| vkev | 1873 | VulnCheck KEV 目录覆盖(配合kev标签 541 个,合计构成 README.md 中说明的约 1496 个去重 KEV 模板) |
| wordpress | 1698 | WordPress 生态检测,配合wp-plugin(1509)、panel(1615)构成 CMS 与后台面板覆盖 |
| panel | 1615 | 后台/管理面板暴露检测,对应 http/exposed-panels(1575 个文件) |
| wp-plugin | 1509 | WordPress 插件漏洞,WordPress 词表辅助见 helpers/wordpress |
| exposure | 1482 | 敏感信息/端点暴露,对应 http/exposures(630 个文件) |
| xss | 1417 | 跨站脚本,主体在 dast/vulnerabilities/xss(194 个文件,多为测试用例)与 http/vulnerabilities |
| osint | 1131 | 开源情报收集,对应 http/osint(1081 个文件) |
完整版 TEMPLATES-STATS.md 中还可以看到紧随其后的rce(1029)、misconfig(999)、tech(965)、lfi(872)、sqli(604)、ssrf(207)、cve2024(625)乃至cve2026(330)等细分标签,说明模板库对高危漏洞类型与近年代 CVE 都有成体系的覆盖。
作者(AUTHOR):社区贡献格局
作者维度的 Top 10 展示了个体贡献者的输出规模。其中dhiyaneshdk(2144 个模板)断层领先,daffainfo(950)、princechaddha(870)、dwisiswant0(807)、pussycat0x(802)组成第二梯队;pdteam与pdresearch是 projectdiscovery 官方团队账号(完整版统计中分别贡献 331 与 276 个模板)。从完整版 TEMPLATES-STATS.md 看,整个统计表收录了数百位署名作者,覆盖从 1 个到两千多个模板的广泛长尾,这正是"社区策展"模式的体现——README.md 也明确欢迎通过 Pull Request 或 Issue 提交模板。
目录(DIRECTORY):模板的组织结构与重心
目录维度展示模板按检测协议/载体分类的分布:
| 目录 | 数量 | 内容 |
|---|---|---|
| http | 11246 | HTTP 协议模板,占绝对主导,内含 cves、exposed-panels、exposures、misconfiguration(980 个文件)、technologies、vulnerabilities 等 |
| cloud | 663 | 云安全配置,cloud/alibaba、cloud/aws、cloud/azure、cloud/gcp 四大云厂商 + cloud/kubernetes |
| file | 447 | 本地文件类模板(文件格式解析、密钥文件检测等),如 file/keys、file/malware |
| code | 303 | 代码审计类,如 code/cves(按年份分目录)、code/privilege-escalation |
| network | 280 | 网络协议检测,如 network/cves、network/detection |
| dast | 251 | 动态应用安全测试用例,dast/vulnerabilities 下细分 xss、ssti(24 个文件)、cmdi 等 |
| workflows | 207 | 多模板编排工作流,如 workflows/wordpress-workflow.yaml |
| javascript | 129 | 浏览器端 JS 协议模板,javascript/cves、javascript/enumeration |
| ssl | 38 | TLS/证书检测,如 ssl/expired-ssl.yaml |
| dns | 31 | DNS 协议模板,如 dns/dmarc-detect.yaml |
http 目录 11246 个模板约占仓库模板总量的绝对多数,说明 Web 安全是模板库的主战场;cloud、code、network、dns、ssl 等则覆盖了 API、云、网络、域名与证书等外围攻击面。
严重级别(SEVERITY):扫描结果的风险分布
| 严重级别 | 数量 | 说明 |
|---|---|---|
| info | 5103 | 信息级,多为技术/资产发现、指纹识别类模板 |
| high | 2976 | 高危 |
| medium | 2841 | 中危 |
| critical | 1916 | 严重 |
| low | 518 | 低危 |
| unknown | 58 | 未标注级别 |
值得注意:info级模板数量最多(5103),这与其discovery/tech/osint等标签规模一致——nuclei 不仅用于找漏洞,也大量用于资产测绘与指纹识别。而critical+high合计 4892 个模板,则保证了高危漏洞检测能力。完整版统计还显示vkev(1873)与kev(541)两个标签合计的去重 KEV 模板数约 1496(见 README.md 的 KEV 覆盖小节),意味着高危可利用漏洞的"野外在野利用"覆盖是模板库的重点投入方向。
类型(TYPE):模板协议类型
类型维度只有两类上榜:file(447 个)与dns(34 个)。这与目录维度中的 file 和 dns 一一对应,说明当前仓库主要以file(文件类)与dns(DNS 类)作为非 HTTP 协议类型的统计分类;HTTP 与网络类模板的协议类型统计体现在 TEMPLATES-STATS.json 的types字段中。
如何把这些统计用起来:nuclei 实战命令
TOP-10.md 的价值不在于"看数字",而在于把高频标签转化为可执行的扫描策略。结合 profiles/ 目录下的现成配置,可以快速上手。
按标签扫描:-tags
针对 KEV(在野利用漏洞)扫描,README.md 明确给出了命令:
nuclei -tags kev,vkev -u https://example.comkev与vkev恰好都在标签 Top 10 中(vkev第 4、kev在完整版中排第 32),证明该扫描路径背后有充足模板支撑。
使用现成 Profile
仓库在 profiles/ 中提供了多份官方扫描配置,均可通过-profile直接引用:
- 全面扫描(profiles/all.yml):
nuclei -profile all -u https://example.com,按协议类型加载 http、tcp、javascript、dns、ssl 全部模板; - CVE 专项(profiles/cves.yml):
nuclei -profile cves -u https://example.com,显式指向http/cves/、http/cnvd/、network/cves/、javascript/cves/四个目录; - KEV 专项(profiles/kev.yml):
nuclei -profile kev -u https://example.com,通过tags: [kev]限定; - 推荐配置(profiles/recommended.yml):
nuclei -profile recommended -u https://example.com,按 severity 全量 + type 限定 +exclude-id黑名单的折中策略。
按严重级别与类型过滤
统计中critical/high数量可观,实战中可以用-severity与-type缩小范围,例如优先扫描高危以上、并限定 HTTP:
nuclei -severity critical,high -type http -u https://example.com限制与注意事项
- 快照性质:TOP-10.md 是发布时的统计快照,模板库持续演进,数字会随新版本变化;若需实时数据,可直接引用最新 TEMPLATES-STATS.json 做程序化集成(其
tags、authors、directory、severity、types五个字段与 TOP-10.md 五列一一对应)。 - 数量 ≠ 质量:标签/作者/目录的计数只反映模板条数,不代表漏洞覆盖的准确率或检测效果;具体每个模板的检测逻辑需以模板正文(如 http/cves 下的 YAML 文件)为准。
- 口径差异:README.md 内嵌表格与 TOP-10.md 可能因生成时间不同而存在数字差异,引用时建议以 TOP-10.md / TEMPLATES-STATS.md 为准。
- 统计范围:
workflows/、profiles/、.github/等非模板文件不计入统计(参见 .github/scripts/count-kev-stats.py 的过滤逻辑)。
小结
TOP-10.md 用一张紧凑的表格浓缩了整个 nuclei-templates 模板库的规模与方向:Web 主导(http 11246)、漏洞与发现并重(vuln 6642 / discovery 3761)、在野利用覆盖完善(kev + vkev)、社区贡献者广泛(dhiyaneshdk 领先 2144 个模板)。理解这张表,就等于掌握了这个模板库的"地图",可以据此更精准地选择扫描标签、评估覆盖方向,并把标签、严重级别与官方 Profile 组合成适合自己的扫描工作流。
【免费下载链接】nuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templates
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考