可以用OWASP Dependency-Check来检查特定产品吗?
我们使用一个定期执行的 OWASP Dependency-Check 作业来扫描我们的Java应用。
也希望把OWASP Dependency-Check用来扫描系统中使用的其他工具,尽管它们并非任何东西的正式依赖项。这其中包括Java运行时安装和数据库系统。
有没有办法让OWASP Dependency-Check扫描这些指定的产品?
例如,这是JDK版本的CPE:cpe:2.3:a:eclipse:temurin:21.0.9
我能把这个作为参数传给Dependency-Check以某种方式进行检查吗?无论是传给Maven插件还是命令行工具。
或者我也许通过某种方式创建一个虚拟制品,让它检查那个产品?
也许可以直接调用扫描器JAR文件中的代码?
编辑:也许可以用 hints文件 解决。我明天会尝试。
解决方案
Dependency Check包含一个 DependencyCheckScanAgent 的类,专门用于扫描特定的产品。
来自Javadoc的示例代码:
List<Dependency> dependencies = new ArrayList<Dependency>();
Dependency dependency = new Dependency(new File(FileUtils.getBitBucket()));
dependency.addEvidence(EvidenceType.PRODUCT, "my-datasource", "name", "Jetty", Confidence.HIGH);
dependency.addEvidence(EvidenceType.VERSION, "my-datasource", "version", "5.1.10", Confidence.HIGH);
dependency.addEvidence(EvidenceType.VENDOR, "my-datasource", "vendor", "mortbay", Confidence.HIGH);
dependencies.add(dependency);
DependencyCheckScanAgent scan = new DependencyCheckScanAgent();
scan.setDependencies(dependencies);
scan.setReportFormat(ReportGenerator.Format.ALL);
scan.setReportOutputDirectory(System.getProperty("user.home"));
scan.execute();
你可能还需要设置数据库连接字符串、NVD API密钥,以及可能还需要其他一些配置。
在你的POM中这样包含:
<dependency>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-core</artifactId>
<version>12.1.3</version>
</dependency>
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。