OpenSCA-cli icon indicating copy to clipboard operation
OpenSCA-cli copied to clipboard

[Bug] java-Gradle 编译方式 springboot项目, 使用io.spring.dependency-management插件导入springboot依赖时 无法扫描出依赖以及漏洞

Open hrc8 opened this issue 1 year ago • 2 comments

Title

OpenSCA-cli无法检测出 java - Gradle编译方式 使用io.spring.dependency-management插件不明确标识版本号时无法扫描出依赖和漏洞

Description

使用OpenSCA-cli打包成docker镜像, 扫描java Gradle项目 镜像无Gradle编译环境, 使用build.gradle文件静态分析

build.gradle

plugins { id 'java' id 'org.springframework.boot' version '3.2.3' id 'io.spring.dependency-management' version '1.1.4' }

group = 'com.example' version = '0.0.1-SNAPSHOT'

java { sourceCompatibility = '17' }

configurations { compileOnly { extendsFrom annotationProcessor } }

repositories { mavenCentral() }

dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-ldap' implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.session:spring-session-data-redis' compileOnly 'org.projectlombok:lombok' runtimeOnly 'org.postgresql:postgresql' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' }

tasks.named('test') { useJUnitPlatform() }

Possible Fix (optional)

希望支持gradle编译的静态文件分析

hrc8 avatar Mar 18 '24 07:03 hrc8

Gradle 解析比较困难,近期会提供集成有编译工具的 docker 镜像,敬请关注。

cyberchen1995 avatar Mar 25 '24 06:03 cyberchen1995

Gradle 解析比较困难,近期会提供集成有编译工具的 docker 镜像,敬请关注。

如果不想集成编译工具呢, 因为有些项目是指定的是maven中央仓库, 但是部署环境是不给外网的连接的

hrc8 avatar Mar 26 '24 01:03 hrc8

不影响,若调用包管理器(动态逻辑)失败,会自动走静态解析的逻辑,示意图如下:

解析逻辑

cyberchen1995 avatar Mar 27 '24 13:03 cyberchen1995

不影响,若调用包管理器(动态逻辑)失败,会自动走静态解析的逻辑,示意图如下:

解析逻辑

主要是在没有gradle编译环境的时候, springboot项目在不明确指定版本号的情况下, 静态解析无法解析出组件

hrc8 avatar Mar 28 '24 01:03 hrc8

已加入需求池

cyberchen1995 avatar Apr 01 '24 01:04 cyberchen1995