지원 종료(EOL) 오픈소스 컴포넌트: 공급망에서 가장 조용한 리스크
중대 CVE가 터진 컴포넌트는 뉴스가 된다. 유지보수가 멈춘 컴포넌트는 뉴스가 되지 않는다. 의존성 트리 안에 조용히 남아 아무도 버그를 고치지 않고, 아무도 이슈를 읽지 않으며, 새 릴리스도 나오지 않는다. 업계 연차 보고서들은 반복해서 같은 자릿수의 결론을 내놓는다. 감사 대상 코드베이스의 대다수에 4년 이상 갱신되지 않은 오픈소스 컴포넌트가 포함돼 있다. 이것이 엔터프라이즈 소프트웨어 자산에서 가장 조용하고 가장 광범위한 공급망 리스크다.
EOL이 위험한 이유
취약점이 영원히 고쳐지지 않는다. Log4j 1.x는 이미 2015년에 지원 종료가 선언됐지만, 2021년 Log4Shell 대응 과정에서 수많은 기업이 여전히 1.x를 대규모로 쓰고 있음을 발견했다. 그리고 1.x 자체의 역직렬화 취약점(CVE-2021-4104 등)에 공식 패치가 나올 일은 없다. Python 2는 2020년 초, AngularJS는 2022년 초에 지원이 끝났지만 둘 다 지금도 수많은 운영 시스템에서 살아 있다. 방치된 컴포넌트의 새 취약점은 전부 영구적 노출이다.
의존성 사슬의 연좌. 직접 의존성은 아직 유지보수돼도 그 아래 라이브러리가 멈춰 있을 수 있다. EOL은 의존성 트리를 따라 위로 전파되는데, 대다수 팀은 2단계 아래 의존성의 상태를 한 번도 확인하지 않는다.
단독 메인테이너 문제. 방치는 공지되는 것이 아니라 '메인테이너가 사라지는' 형태로 온다. xz 백도어 사건의 출발점이 바로 그것이었다. 지쳐버린 원 메인테이너, 그리고 '친절한 후계자'로 잠입한 공격자. 주간 수백만 다운로드 패키지가 한 사람의 여가 시간으로 유지되는 상황은 오픈소스 세계에서 예외가 아니라 일상이다.
식별: EOL은 데이터 문제지 감의 문제가 아니다
컴포넌트의 방치 여부는 데이터로 답한다. 공식 EOL 공지, 마지막 릴리스 날짜, 이슈 응답 상황, 메인테이너 활동량. 엔지니어링 관점에서는 이 일을 SCA 플랫폼에 맡겨 대장 계층에서 지속적으로 표시하게 한다. 사용 중인 모든 컴포넌트의 최종 갱신 시점, EOL 상태, 커뮤니티 활동 점수가 상시 보이게 하고, 다음 보안 사고 때 수동적으로 발견되기를 기다리지 않는다. 도입 심사에 '지속가능성' 차원이 반드시 포함돼야 하는 이유도 여기 있다. 5년 뒤 방치 컴포넌트를 처리하는 것보다 도입 당일 커뮤니티 건강도——릴리스 주기, 기여자 수와 집중도, 이슈 응답 시간——를 한 번 살피는 편이 훨씬 싸다.
등급화: 모든 EOL을 당장 처리할 필요는 없다
EOL 컴포넌트 재고는 대개 상당한 규모이며, 전량 즉시 업그레이드는 현실적이지도 필요하지도 않다. 두 축으로 등급을 매긴다. 노출면(컴포넌트가 외부 입력을 처리하는가? 공격 경로 위에 있는가? 사내 도구 속 방치 컴포넌트와 인터넷 노출 서비스 속 그것은 완전히 다른 위험 등급이다)과 알려진 취약점 상태(미수정 CVE를 가진 EOL 컴포넌트는 곧바로 최우선순위로, 알려진 결함이 없는 것은 관찰 목록으로——면제가 아니라 관찰이다. 새 공개는 언제든 나올 수 있고 패치는 영원히 오지 않는다).
네 가지 대응 전략
업그레이드: 활발한 후속 메이저 버전이 있는 경우(Log4j 1.x → 2.x/Logback). 비용은 주로 API 마이그레이션이며 최우선 경로다. 교체: 프로젝트가 완전히 죽었다면 활발한 대체재로 이전한다(AngularJS → 현대 프레임워크). 비용이 크므로 기술 부채 로드맵에 올려 분할 실행한다. 격리·강화: 단기간에 업그레이드도 교체도 불가한 경우(임베디드·레거시 핵심 시스템에 흔하다) 네트워크 격리, WAF 가상 패치, 권한 축소로 노출면을 줄여 이전 시간을 번다. 진통제이지 치료제가 아니다. 상용 연장 지원: 일부 EOL 소프트웨어는 벤더가 유상 연장 지원을 제공하며, 이전 주기가 특히 긴 컴플라이언스 민감 환경에 적합하다.
루틴으로 만들기
EOL 거버넌스에서 최악은 캠페인식 일제 대응이다. 지속 가능한 형태는 세 가지 자동화된 리듬이다. 대장에서 EOL과 활동량의 지속 표시(일상적으로 보이게), 신규 컴포넌트 도입 시 커뮤니티 건강도 게이트 검사(증분이 더 나빠지지 않게), 분기마다 재고 EOL 컴포넌트의 등급 재심사(최우선 항목은 해당 분기 스프린트로). 이 세 박자가 돌면 '가장 조용한 리스크'는 시한폭탄이 아니라 평범하게 일정을 잡을 수 있는 엔지니어링 업무가 된다.
