Repository navigation
chore(build): 빌드·테스트 클래스패스 bouncycastle 하한을 1.84 로 상향 (closes 921, 983, 984) [base: develop] - #922
Merged
Merged
Conversation
Robolectric 4.15.1(bcprov 1.80)·AGP 9.2.1(1.79) 전이 의존성이 GHSA-574f-3g2m-x479(critical) 영향권이라 constraint 로 1.84 를 보장한다. APK 산출물에는 bouncycastle 이 포함되지 않는다. #921
This was referenced Aug 24, 2026
Sadturtleman
approved these changes
Aug 24, 2026
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
변경 요약
릴리스 PR #916 dependency-review 가 지적한 critical(GHSA-574f-3g2m-x479, bcprov 1.80)을 포함해, 빌드·테스트 클래스패스의 bouncycastle 을 constraint 로 1.84 이상 보장한다. 유입 경로 실측·정정(#916 코멘트의 foojay 귀속은 오진 — 실제는 Robolectric 4.15.1 → bcprov 1.80, AGP 9.2.1 → 1.79·bcpkix·bcutil, 관련 GHSA 3건 모두 1.84 패치)은 #921 에 기록돼 있다.
gradle/libs.versions.toml—bouncycastle = "1.84"하한 버전build.gradle.ktsbuildscript블록: 루트 buildscript classpath constraint. 본문 시점엔 루트 classpath 리졸브가 끝나 있어 여기만 가능하고, buildscript 블록은 카탈로그 accessor 미지원이라 리터럴+주석으로 둔다.allprojects: declarable 전용bouncycastleConstraintsconfiguration 에 constraint 를 담고 모든 resolvable configuration 이extendsFrom— Gradle 9 가compileClasspath·archives등 non-declarable 에 constraint 선언을 금지해 채택한 구조로,androidLintTool·UTP 같은 AGP 내부 configuration 까지 이름 하드코딩 없이 커버한다(consumable 은 extend 하지 않아 variant 메타데이터 무영향).subprojects: buildscriptclasspath에 직접 constraint(buildscript 컨테이너엔 configuration 추가가 금지).build-logic/build.gradle.kts— 동일 constraint(별도 빌드라 루트 선언이 미치지 않음)require 시맨틱이라 추후 AGP·Robolectric 상류가 1.84 이상을 선언하면 그쪽이 이긴다. APK 산출물에는 영향이 없다 —
releaseRuntimeClasspath에 bouncycastle 0건.검증
dependencyInsight --configuration runtimeClasspath:1.79 -> 1.84(constraint 사유 표기 확인)compileDebugUnitTestKotlin(전 모듈 게이트) +:core:ui:testDebugUnitTest(실패 0) +:core:model:lintDebug+:app:assembleDebug— BUILD SUCCESSFUL(651 태스크, FAILED 0). 서명된 debug APK 산출로 apksig↔BC 1.84 바이너리 호환까지 확인리뷰어에게
dependency-audit회차가 같은 bouncycastle 1.79 를bcpkix-jdk18on(GHSA-wg6q-6289-32hp)·bcprov-jdk18on(GHSA-574f-3g2m-x479·GHSA-c3fc-8qff-9hwx) 이슈로 각각 다시 올렸는데, 검사 커밋(6123a68)이 이 PR 머지 전이라 생긴 중복이다. 이 PR 의 1.84 하한이 그대로 해소분이다. 같은 회차의 나머지 감사 이슈는 스택 상위 #1003 이 처리한다(fix(build): Kotlin Gradle Plugin 보안 권고 대응 필요 #986 은 정식 패치판 부재로 보류 — 근거는 그 이슈 코멘트).Closes #921
Closes #983
Closes #984