보안성심의 오픈소스 조치

This commit is contained in:
curry772
2026-09-07 16:08:56 +09:00
parent 831dc9fc48
commit b6c64983ee
3 changed files with 29 additions and 3 deletions
+27 -1
View File
@@ -110,7 +110,11 @@ dependencies {
implementation "org.springframework:spring-webmvc:${springVersion}" implementation "org.springframework:spring-webmvc:${springVersion}"
implementation "org.springframework.security:spring-security-jwt:1.1.1.RELEASE" // bcpkix/bcprov-jdk15on:1.64 전이 차단 — BouncyCastle 은 elink-online-common 이
// 제공하는 jdk18on 라인만 사용한다(구버전 클래스 중복 방지).
implementation ("org.springframework.security:spring-security-jwt:1.1.1.RELEASE") {
exclude group: 'org.bouncycastle'
}
//implementation "com.eactive:ojdbc8:1.0" //implementation "com.eactive:ojdbc8:1.0"
//implementation "org.postgresql:postgresql:42.2.23" //implementation "org.postgresql:postgresql:42.2.23"
@@ -157,6 +161,28 @@ test {
configurations.all { configurations.all {
exclude group: 'log4j', module: 'log4j' exclude group: 'log4j', module: 'log4j'
exclude group: 'org.codehaus.jackson' exclude group: 'org.codehaus.jackson'
// commons-fileupload: elink-online-common 이 api 로 선언(build.gradle:85)하지만,
// 사용처는 HttpAdapterServiceRest / HttpAdapterServiceVirtualAccount 두 클래스뿐이다.
// 두 클래스는 정적 참조가 없고 HttpAdapterServiceFactory 의
// Class.forName(DB 설정 클래스명) 으로만 로드되는데, DJB 는 자체 DJBApiAdapterService 를
// 사용하므로 이 어댑터 서비스가 기동되지 않는다(= 런타임 미사용).
// 공유 모듈인 elink-online-common 에서 의존성을 지우면 타 사이트가 깨지므로,
// 루트에서만 배제해 배포 WAR(WEB-INF/lib)에서 제외한다.
// ※ 운영 DB 어댑터 설정에 위 두 클래스가 등록되면 NoClassDefFoundError 가 발생하므로,
// 해당 어댑터를 사용하게 되는 시점에 이 exclude 를 반드시 제거할 것.
exclude group: 'commons-fileupload'
// BouncyCastle jdk15on 라인 최종 차단.
// jdk15on 과 jdk18on 은 artifactId 가 달라 Gradle 이 같은 라이브러리로 보지 않는다.
// 어느 경로로든 유입되면 org.bouncycastle.* 가 WEB-INF/lib 에 중복 적재되므로
// 배포 WAR 기준으로 한 번 더 배제한다(사용 버전: bcprov/bcpkix-jdk18on 1.78.1).
exclude group: 'org.bouncycastle', module: 'bcprov-jdk15on'
exclude group: 'org.bouncycastle', module: 'bcpkix-jdk15on'
// 구 groupId 의 dom4j(=1.6.1) 최종 차단. org.dom4j:dom4j:2.1.3 만 사용한다.
// (groupId 가 달라 Gradle 이 버전 충돌로 인식하지 못하므로 명시적으로 배제)
exclude group: 'dom4j', module: 'dom4j'
} }
task settingEclipseEncoding { task settingEclipseEncoding {