You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

系统JAR包全量排查与漏洞扫描:版本、CVE及工具咨询

查找系统JAR文件、提取版本及关联CVE漏洞方案

一、批量查找系统中的JAR文件

Linux/macOS

用find命令递归搜索指定目录下的所有JAR文件:

find /path/to/search -name "*.jar" -type f > jar_list.txt

替换/path/to/search为目标扫描根目录(比如/表示扫描整个系统),结果会保存到jar_list.txt文件中。

Windows

用PowerShell命令实现递归搜索:

Get-ChildItem -Path "C:\path\to\search" -Filter "*.jar" -Recurse -File | Select-Object FullName > jar_list.txt

二、提取JAR包的版本信息

多数JAR包的版本信息存储在内部的META-INF/MANIFEST.MF文件中,可通过以下方式提取:

单文件提取(Linux/macOS)

unzip -p target.jar META-INF/MANIFEST.MF | grep -E "(Implementation-Version|Specification-Version|Bundle-Version)"

如果清单文件中没有上述字段,可尝试查看JAR文件名(部分包会将版本嵌入文件名,比如commons-collections-3.2.2.jar)。

批量提取脚本(Linux/macOS)

编写Shell脚本批量处理jar_list.txt中的所有JAR文件:

#!/bin/bash
while read jar_path; do
    echo "=== $jar_path ==="
    unzip -p "$jar_path" META-INF/MANIFEST.MF 2>/dev/null | grep -E "(Implementation-Version|Specification-Version|Bundle-Version)" || echo "未在清单文件中找到版本信息"
    echo ""
done < jar_list.txt > jar_versions.txt

保存为extract_versions.sh,赋予执行权限chmod +x extract_versions.sh后运行即可批量导出版本信息。

三、关联活跃CVE漏洞

手动匹配JAR版本与CVE漏洞效率极低,建议使用自动化工具完成扫描、版本识别与漏洞匹配的全流程。

四、工具建议

开源工具

  • OWASP Dependency-Check:支持多语言依赖扫描,自动识别JAR版本并匹配NVD等漏洞库的CVE信息,生成结构化报告,可集成到CI/CD流程。
  • CycloneDX BOM Tool:先生成软件物料清单(BOM),再结合CycloneDX漏洞数据库查询对应CVE,适合需要标准化物料管理的场景。
  • JVulnerabilityScanner:专注Java生态的轻量扫描工具,可快速扫描本地JAR包并列出关联的活跃CVE。

商业工具

  • Snyk:提供Java依赖漏洞扫描,支持本地项目与系统级JAR扫描,附带修复建议,适合企业级安全管理。
  • SonarQube:除代码质量检测外,支持依赖漏洞扫描,可关联JAR版本与CVE,集成到开发流程中实现持续安全检测。

内容的提问来源于stack exchange,提问作者Zoeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:09:57