취약 의존성 자동 조치
fix_egovframe_dependenciesFixes eGovFrame Maven pom.xml dependency issues: upgrade parent versions, unpin managed versions, replace changed coordinates, and bump vulnerable versions with dry-run and compile-checked rollback.
Instructions
check_egovframe_dependencies 가 찾기만 하던 의존성 문제를 규칙으로 정할 수 있는 만큼 pom.xml(멀티 모듈 포함)에서 고칩니다. 순서: (1) parent 상향 — 공식 parent 5.x 를 target(기본 권장 버전)으로(migrate_egovframe_project target 의 자동 항목), (2) 고정 해제 — parent(또는 Boot BOM)가 관리하는 좌표에 그보다 낮게 적은 을 지워 parent 에 맡김(major 가 다르면 수동), (3) 좌표 교체 — 좌표만 바뀌고 패키지가 같은 것(mysql-connector-java→mysql-connector-j, ojdbc→ojdbc11, xbean→xmlbeans), (4) 취약 버전 상향 — 직접 적은 버전(리터럴 또는 같은 계열 좌표만 쓰는 버전 속성)이 OSV 에 걸리면 모든 권고를 피하는 가장 낮은 같은 major 정식 릴리스로(저장소 maven-metadata 로 실제 배포 버전 확인, major 가 바뀌거나 수정 버전이 없으면 수동). parent 가 관리하는 버전·전이 의존성의 취약점은 고치지 않고 보고합니다. 결과에 선언 좌표 기준 전·후 취약점 수를 적습니다. 기본 dryRun(계획·변경 미리보기), 적용은 파일 트랜잭션(원본은 migration-backup/<시각>-deps-fix-…/)이며 compile 로 확인해 실패하면 모두 되돌립니다. Gradle 은 리터럴 'g:a:v' 의 고정 해제·취약 버전 상향만. 오프라인 번들(EGOVFRAME_OFFLINE_BUNDLE)이 있으면 OSV 를 번들로 판정합니다.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | Markdown 에 보일 조치·수동 항목 수 | |
| kinds | No | 적용할 조치(기본 전부: parent·unpin·coordinate·cve-bump) | |
| dryRun | No | true(기본)면 파일을 쓰지 않고 계획만 | |
| format | No | 응답 형식 | markdown |
| target | No | parent 상향 목표 5.x 버전(기본: 권장 버전) | |
| verify | No | dryRun=false 일 때 compile 로 확인하고 실패하면 되돌림 | |
| offline | No | true 면 OSV 를 조회하지 않음(취약 버전 상향·전후 집계 생략) | |
| timeoutMs | No | compile 제한 시간(기본 600000) | |
| projectDir | Yes | 프로젝트 디렉터리(절대경로 권장) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| build | No | ||
| files | Yes | ||
| kinds | Yes | ||
| notes | Yes | ||
| dryRun | Yes | ||
| manual | Yes | ||
| target | Yes | ||
| actions | Yes | ||
| summary | Yes | ||
| osvError | No | ||
| planPath | No | ||
| backupDir | No | ||
| projectDir | Yes | ||
| rolledBack | No | ||
| buildSystem | Yes | ||
| vulnerabilities | No |