☕ Java 코드 에디터
취약한 코드
public class Config {
private String[] roles;
// [취약] 외부 배열 참조를 내부 필드에 그대로 저장 → 외부 변경에 노출
public Config(String[] roles) {
this.roles = roles;
}
}
💡 수정 가이드 (KISA 기준)
1. 방어적 복사
입력을 복사 후 저장.
public Config(String[] roles) {
this.roles = roles.clone(); // 입력 방어적 복사
}
📊 분석 결과 및 설명
🎯 목표
외부에서 받은 가변 배열은 복사하여 내부에 저장합니다.
⚠️ 현재 취약점
External Reference Stored
외부 참조 저장으로 내부 상태가 외부 변경에 노출됩니다.